1

我正在使用 MinGW、Eclipse 和 Boost 进行一些 TCP/IP 编程。通常我使用 Visual Studio,但对于这个项目,我使用的是 Eclipse 和 MinGW。我已经运行了标头测试程序并且运行良好。

当我想构建一个asio包含的项目时,我遇到了参考错误。

在 Eclipse 中的 MinGW 设置下,我包含了该库,在 C++ 下,我添加了包含搜索路径。这些库是静态构建的。

我在网上读到我还需要包含编译器标志-lws2_32。我在 Eclipse 中的杂项中的 MinGW 设置下完成了此操作。

我包括asio以下方式:

#include <boost/regex.hpp>
#include <boost/asio.hpp>

我得到的错误如下:

undefined reference to `WSACleanup@0'

谁能帮我解决这个问题?

亲切的问候!

4

1 回答 1

2

libws2_32.a显然没有正确链接。我怀疑在杂项中添加链接开关(例如-l)是错误的做法。据我记得,在路径和符号部分有一个选项卡,您可以在其中简单地添加ws2_32(不带任何标志)并让 Eclipse 使用适当的开关完成调用 GCC 的工作。

于 2013-10-14T15:08:05.043 回答