发现Dev-C++ 还是个不错的东东,今天把以前写过的一些小程序放在上面编译。
在Link的时候出现了下面的错误
main.o(.text+0xee):main.cpp: undefined reference to `WSAStartup@8'
main.o(.text+0x147):main.cpp: undefined reference to `socket@12'
main.o(.text+0x189):main.cpp: undefined reference to `htons@4'
main.o(.text+0x1a0):main.cpp: undefined reference to `inet_addr@4'
main.o(.text+0x1b7):main.cpp: undefined reference to `connect@12'
main.o(.text+0x1ca):main.cpp: undefined reference to `closesocket@4'
main.o(.text+0x21d):main.cpp: undefined reference to `closesocket@4'
main.o(.text+0x225):main.cpp: undefined reference to `WSACleanup@0'
这种Link的错误应该都是连接库没有找到导致的,问题是
1. 我们在Dev-C++上怎么告诉g++ 这个-L -l的参数?
2. 应该添加对哪个库的连接呢?
做法如下:
Project -> Project Options -> Parameters
在Linker下面添加:
-lws2_32就可以了。
这样他编译的时候就会带上
-L"C:/Dev-Cpp/lib" -lws2_32
后来又出现了
undefined reference to `Polyline@12'
undefined reference to `Polyline@12'
undefined reference to `SelectObject@8'
undefined reference to `TextOutA@20'
collect2: ld returned 1 exit status
make.exe: *** [test.exe] Error 1
这次需要的库是:libgdi32.a
位于C:/Dev-Cpp/lib/libgdi32.a
所以在同样的位置添加上 -lgdi32