使用SimpleSocket使用Code :: Blocks编写的SimpleSocket对C 程序中函数的未定义引

undefined reference to functions in C++ Program using SimpleSocket written using Code::Blocks

本文关键字:使用 SimpleSocket 函数 未定义 程序 Blocks Code      更新时间:2023-10-16

我正在尝试在使用simplesockets的code ::块中编写一个C 程序。我程序中的文件位于我的程序中,main.cpp,simplesocket.cpp,vassiveockets.cpp,activesockets.cpp,simplesocket.h,vassivesockets.h,activeSockockets.h。所有这些文件都在同一目录中,并且使用引号(#include" simplesocket.h")包含在main.cpp中。当我尝试编译时,我会收到以下一些错误。

----------------构建:SYS32中的调试--------------------

g 。exe -wall -g -i" c: documents and Settings inderdingator my documents my Docormess curl-7.27.0-devel -mingw32" -ic: mingw mingw mingw mingw32 -ic: mingw mingw mingw \\\\\\\\\\\\\\lib gcc mingw32 -ic: mingw lib gcc gcc mingw32 4.7.0 -ic: mingw lib lib gcc gcc gcc mingw32 4.7.7.0.0.0.0.0.0 include -ic: mingw lib gcc gcc gcc gcc gcc gcc mingw32 4.7.0 include c 向后-IC: mingw lib gcc gcc mingw32 4.7.0 include c c mingw32 -c c: system32 sys32 sys32 sys32 main.cpp -o obj obj debug ebj debug main.o在C中包含在C: System32 Sys32 ActiveSocket.h:46:0的文件中 来自c: system32 sys32 main.cpp:2:

未定义的引用`_htons@4

未定义的引用`_inet_addr@4

未定义的引用`_inet_addr@4

未定义的引用..............................

未定义的引用..............................

这些错误来自simplesockets.cpp,vassiveockets.cpp和activesockets.cpp。从我可以在Stackoverflow上找到的这种错误是链接错误。我发现该帖子将文件添加到项目中,但无效。Stackoverflow上有很多东西,但我似乎找不到如何使其工作。我正在寻找code ::块中的位置,我可以手动链接另一个.cpp文件。我什至尝试将编译器从Migw32-G 更改为G ,只是为了看看会发生什么。

我还尝试使用-lw2_32.lib命令构建,但我仍然遇到相同的错误。以下是添加该命令后的输出。

----------------构建:SYS32中的调试--------------------

g++.exe -Wall  -g  -lws2_32.lib   -I"C:Documents and SettingsAdministratorMy DocumentsDownloadscurl-7.27.0-devel-mingw32" -IC:MinGWmingw32 -IC:MinGWlibgccmingw32 -IC:MinGWlibgccmingw324.7.0 -IC:MinGWlibgccmingw324.7.0include -IC:MinGWlibgccmingw324.7.0includec++backward -IC:MinGWlibgccmingw324.7.0includec++mingw32  -c C:system32sys32PassiveSocket.cpp -o objDebugPassiveSocket.oIn file included from C:system32sys32ActiveSocket.h:46:0,from C:system32sys32PassiveSocket.h:45,from C:system32sys32PassiveSocket.cpp:43:
PassiveSocket.cpp:70: undefined reference to htons@4
PassiveSocket.cpp:78: undefined reference to htonl@4
PassiveSocket.cpp:82: undefined reference to inet_addr@4

再次感谢您的帮助。

我收集的是您正在使用code :: blocks mingw combo和没有任何其他编译器

转到Project->构建选项
单击"链接器设置"选项卡,然后在"其他链接器选项:"多行文本框中添加以下内容: -

-lwsock32
-lws2_32

记住将每个条目放在新线上。
请注意,我省略了" .lib"文件扩展名

编译时将-lws2_32.lib放置。