在Windows下 安装eclipse,MinGW,环境变量也配置完后,而且成功的运行了“hello world”程序。
结果自己写了个简单程序,里面调用了htonl()函数,也加入了头文件#include <winsock.h>,
结果碰到一个麻烦,就是编译出错,提示: undefined reference to `htonl@4'
一般说来,
undefined reference to ~~~~原因就是缺少什么什么库
如下:
在环境变变量中加入
PATH
C:\Program Files\MinGW\bin;
(如果系统已经有其它的C/C++编译器,请把C:\Program Files\MinGW\bin;加在最前面)
LIBRARY_PATH
C:\Program Files\MinGW\lib;
C_INCLUDE_PATH
C:\Program Files\MinGW\include;
CPLUS_INCLUDE_PATH
C:\Program Files\MinGW\include\c++\3.2.3;
C:\Program Files\MinGW\include\c++\3.2.3\mingw32;
C:\Program Files\MinGW\include\c++\3.2.3\backward;
C:\Program Files\MinGW\include;
不过这并不是问题关键
关键是无意中在编译后加上了-lwsock32
问题就解决了
具体加上-lwsock32的方法是:在project->properties->(左边)c/c++Build->(中间)GCC C Linker里边的Libraries->(右边)上边的写上wsock32