Wątek przeniesiony 2019-06-07 09:23 z przez Patryk27.

C11 & Windows 10.

Odpowiedz Nowy wątek
2019-06-07 09:20
2

Nie wiem co jest większym rakiem, cmake czy win 10 ale próbowałem wszystkiego i jeszcze więcej i nic nie działa w pełni poprawnie z C11, natomiast z linuxa nie mam dostępu do płików nagłówkowych windy których co chwila potrzebuje ostatnio.

-Próbowałem użyć bibliotek z vcpkg i wtrynić je do Clion, daremne, szkoda nawet strzępić ryja.
-Próbowałem msys2 i mingw jako toolchain w Clion, daremne - mogę coś zaincludować ale nie mogę tego użyć, hm zajebiście, dodawanie od groma czarów do cmake w żaden sposób nie pomoglo, find_package nie działa, target_link_libraries nie dziala, nic %^#$ nie działa z tym zasranym cmake..
-Próbowałem nawet pisać w VS19 w cpp importując same zgodne rzeczy z C11, to też się nie mogło udać.
-Jedyne co mogę tutaj robić to pisać w notatniku a potem ręcznie kompilować z gcc msys2, ale to pochłania tony czasu zwłaszcza przy debugowaniu.

Na linuchu wystarcza człowiekowii vim albo spacemacs z linterem i debuggerem czyli nie więcej niż 100mb i moge sprawnie działać, tutaj na win10 mam zainstalowane ze 30gb cholernych bibliotek i niepotrzebnych mi gówien z VS, do tego mingw, mingw32 i mingw64 z msys2, cmake oficjalny i cmake z jetbrainsa, ch wie co jeszcze i $%^&@ &*@ nie mogę nawet odpalić swojego programu w żadnym wspierającym go IDE. Czy windows to zawsze była taka padaka czy ja jestem po prostu jednak upośledzony jakiś?

edytowany 1x, ostatnio: Patryk27, 2019-06-07 09:23
@Patryk27: widzę, że dyskusja jest w miarę na temat. Może przenieść do C/C++? - Silv 2019-06-10 03:18

Pozostało 580 znaków

2019-06-07 09:26
2

Może zacząłbyś od napisania jakich kompilatorów próbowałeś i jakie były komunikaty błędów, w jakim kodzie??

Pozostało 580 znaków

2019-06-07 12:51
0
elwis napisał(a):

Może zacząłbyś od napisania jakich kompilatorów próbowałeś i jakie były komunikaty błędów, w jakim kodzie??

Napisałem jakich kompilatorów próbowałem. Kodami błędów to mogę Cie zasypywać przez tydzień.
Najszybciej będzie chyba w bardziej minimalistyczny sposób, np jest taki przykładowy kod :

#define LIBSSH_STATIC 1
#include <libssh/libssh.h>
#include <stdio.h>

int main() {
    ssh_session MySSH = ssh_new();
    if (MySSH == NULL) exit(-1);
    ssh_free(MySSH);
}

I wyjaśnij mi, co ja mam zrobić żeby odpalić go na Win w jakimś IDE działającym ze standardem C11.
Mam MSYS2 z mingw64 i mam mingw-w64-x86_64-toolchain zainstalowany i Cliona skonfigurowanego do korzystania z niego, ale wysypuje mi błędy przy powyższym kodzie typu :

undefined reference to `ssh_new'

Mam chyba już każdy dostępny kompilator na swoim pc, więc jak nie znasz msys2 i clion ale jest jakiś sposób żeby to działało z VS to też może być.

Pozostało 580 znaków

2019-06-08 10:34
0

Install Gentoo

Pozostało 580 znaków

2019-06-08 11:22
0

Nie wiem jak w Clionie, ale w MSYS2 to (generator MSYS Makefiles):

cmake_minimum_required(VERSION 3.2)

project(test-ssh)
set (CMAKE_C_STANDARD 11)

add_executable(test-ssh test.c)
target_link_libraries (test-ssh "ssh")

kompiluje twój przykład bez problemu.

Pozostało 580 znaków

2019-06-08 17:05
0
0x666 napisał(a):

Nie wiem jak w Clionie, ale w MSYS2 to (generator MSYS Makefiles):

cmake_minimum_required(VERSION 3.2)

project(test-ssh)
set (CMAKE_C_STANDARD 11)

add_executable(test-ssh test.c)
target_link_libraries (test-ssh "ssh")

kompiluje twój przykład bez problemu.

Cześć! No tak, nawet dodałem mingw64 z msys2 do path, więc z terminala polecenie "gcc" mi też skompiluje wszystko, problem jest taki żadnego IDE nie mogę z tym skonfigurować, a moje C to dopiero raczkuje zwłaszcza na windowsie i potrzebuje normalnego IDE do nauki i pisania kodu. Z czego Ty korzystasz do pracy z C11?

Pozostało 580 znaków

2019-06-08 18:29
0

Tak patrzę w internetach i wygląda, że podpięcie CLiona do MSYS2 jest dosyć proste. Ważne, żeby środowisko korzystało z cmake'a zainstalowanego pacmanem w MSYS2.

Pozostało 580 znaków

2019-06-08 21:39
0

No to pewnie patrzyłeś na coś co ja krok po kroku zrobiłem jeśli to z google. Błąd który miałem już przy wskazaniu CLionowi cmake z msys2 to jakieś "CMake Error: Could not create named generator MinGW Makefiles", żadnej przyczyny ani nic, masło maślane jakieś i trop się urywa w googlach na czymś 5 lat nieaktualnym. Swoją drogą outputy błędów tych wynalazków typu cmake to są ze 200 lat za technologią rebubliki kongo, entry level #%^& księżyc.

Pozostało 580 znaków

2019-06-09 10:54
0

Z ciekawości sprawdziłem, jak ta sprawa z CLionem wygląda. Zainstalowałem go, stworzyłem nowy projekt C11, wkleiłem twój kod, dodałem bibliotekę komendą target_link_libraries i skompilowałem. Wszystko poszło bez najmniejszych problemów ;)

Coś tam chyba napaprałeś w swoim komputerze, że Ci nie działa.

Pozostało 580 znaków

2019-06-09 11:21
1

To z całą pewnością działa bez pudła. Być może tylko nowsze pakiety są już dostępne.

Instrukcja instalacji MinGW-w64 w systemie MS Windows

  1. Zainstaluj w standardowy sposób Java JDK w wersji 64-bit. Po przejściu przez proces instalacji,
    wykonaj restart systemu.

  2. Zainstaluj pakiet msys2: http://repo.msys2.org/distrib/x86_64/msys2-x86_64-20180531.exe

  3. Po instalacji uruchomi się on w konsoli. Wykonaj polecenie uaktualnienia środowiska:

    pacman -Suy

    Po zakończeniu uaktualnienia, w okienku konsoli pojawi się prośba o jego zamknięcie. Zamknij okienko.

    Uruchom MSYS2 MinGW 64-bit wybierając je z menu start (wybierz precyzyjnie: MSYS2 MinGW 64-bit a nie żaden inny) i zainstaluj narzędzia programistyczne:

    pacman -S base-devel

    pacman -S mingw-w64-x86_64-toolchain

    Pytanie o (domyślnie=wszystkie) potwierdź enterem.

    Możesz sprawdzić obecność kompilatora przez:

    gcc -v

    Zamknij okienko.

  4. Do ścieżki PATH systemu dodaj następujące wpisy. Do tych ustawień dostaniesz się poprzez:

    Eksplorator->prawy klawisz na "Ten komputer" -> Właściwości -> Zaawansowane ustawienia systemu

    -> Zmienne środowiskowe. Wybierz Path i Edytuj. Dodaj wpisy:

    C:\msys64\mingw64\bin
    C:\msys64\usr\bin

    Z pomocą klawisza "Przenieś w górę", umieść je na samej górze wpisów.

  5. Zainstaluj eclipse dla programowania w C/C++ w wersji 64-bit poprzez jego rozpakowanie w wybranym folderze. Uruchom eclipse.

  6. W konfiguracji eclipse: Window -> Preferences -> C/C++ -> Build -> Environment

    Dodaj zmienne:

    MINGW_HOME=C:\msys64\mingw64
    MSYS_HOME=C:\msys64
    PATH=${MSYS_HOME}\usr\bin;${MINGW_HOME}\bin


Każdy problem w informatyce można rozwiązać, dodając kolejny poziom pośredniości,z wyjątkiem problemu zbyt dużej liczby warstw pośredniości — David J. Wheeler

Pozostało 580 znaków

2019-06-09 20:00
0

Zrobiłem dokładnie wszystko co kolega wyżej pisał, ale jeszcze mam jakiś błąd. Z tego co widzę muszę przekazać parametr "-lssh" do gcc bo on sam tego nie zlinkuje, to normalne?

0x666, cholera, możesz wrzucić jak wyglądało Twoje cmakelists?

Oczywiście że to normalne. Biblioteka lbssh wymaga jawnego linkowania. - Mokrowski 2019-06-09 21:29
Miałeś wcześniej: target_link_libraries (test-ssh "ssh") - Bartłomiej Golenko 2019-06-10 01:46

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0