24. oktober 2002 - 11:32
Der er
10 kommentarer og 1 løsning
mingw: undefined reference to ...
Når jeg forsøger at kompilere et program med mingw compileren, spytter linkeren en masse fejl ud: undefined reference to `WSAStartup@8' undefined reference to `socket@12' undefined reference to `htons@4' Hvad er løsningen på dette?
Annonceindlæg fra COMM2IG
24. oktober 2002 - 11:34
#1
link med libws2_32.a så er du kørende.
24. oktober 2002 - 11:41
#2
Hvordan gør jeg det? Noget a la: g++ ... -Wl,-lws2_32 ...?
24. oktober 2002 - 11:44
#3
-lws2_32
24. oktober 2002 - 11:45
#4
Det giver samme fejl.
24. oktober 2002 - 12:00
#5
hvordan ser din makefile ud ?
24. oktober 2002 - 12:04
#6
24. oktober 2002 - 12:15
#7
Jeg har ingen makefile. Det ved jeg ikke. Kun hvis den følger med MinGW-2.0.0-3
24. oktober 2002 - 12:24
#8
jeg kompilere følgende med: g++ -c "main.cpp" -s g++ -o "test.exe" -s "main.o" "-lws2_32" #include <windows.h> #include <winsock2.h> #include <stdio.h> int main(int argc, char **argv) { WSADATA wsaData; WORD wVersionRequested = MAKEWORD( 2, 0 ); if(WSAStartup(wVersionRequested, &wsaData) != SOCKET_ERROR) { SOCKET sock = socket(AF_INET, SOCK_STREAM, 0); sockaddr_in addr; addr.sin_family=AF_INET; addr.sin_addr.s_addr = inet_addr("192.168.100.20"); addr.sin_port=htons(80); } return 0; }
24. oktober 2002 - 12:36
#9
For søren, hvor det bare hjalp, Søren. Men burde "-Wl,-lws2_32" ikke være det samme som "-lws2_32". Nå, men nu virker det altså. Tak for hjælpen (igen).
24. oktober 2002 - 12:46
#10
ang. -Wl tjaaa, det er jeg faktisk ikke klar over ?
24. oktober 2002 - 13:23
#11
-Wl,<options> Pass comma-separated <options> on to the linker
Kurser inden for grundlæggende programmering