Wie kann man eine Library linken ? (MinGW)
-
Hallo,
eigentlich war ich bisher sicher, dass es so geht: (MinGW)
g++ -o main.exe head.cpp -L"C:/MinGW/lib" -lws_32
Also, ich habe einen Quellcode (head.cpp) und ich will dazu die libws_32.a linken,
aber der compiler sagt immer:D:\G>g++ -o main.o head.cpp -L"C:/MinGW/lib" -lws_32
C:\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: cannot fin
d -lws_32
collect2: ld returned 1 exit statusIch arbeite normalerweise mit einer IDE aber ich wollts mal ausprobieren...
ws_32 hab ich schon versucht durch folgendes zu ersetzen: libws_32, libws_32.a
nicht klappt... bisherGruß Chris
-
-
Hmm, ich weiß, dass es google gibt, danke für den Hinweis
Das Problem ist, dass im Prinzip es jeder so macht wie ich es gepostet hab, nur bei mir findet er die Libs nicht... hast du denn keine idee, woran meine fehlermeldung liegen könnte ?
-
Ok, nun hat sich mein Problem noch fokusiert:
MinGW findet die Library (war tatsächlich ein Attributfehler), aber es kommt nun folgende Error Meldung: undefined reference to WinMain
Klar ich habe auch keine main oder winmain funktion in einer static library...
Wie kann ich das umgehen ? Ich hatte vor eine statische Bibliothek zu erstellen die Winsockfunktionen enthält...Gruß Chris
-
Eine statische Bibliothek erstellst du wie folgt:
g++ -o foo.o foo.cpp ar r libfoo.a foo.o
Bibliotheken werden hier noch nicht dazu gelinkt, wie in deinem Fall ws_32. Das erfolgt erst bei der Erstellung einer Executble, die diese Bibliotheken zur Erstellung benötigt.