7

我来这里是为了解决让我感到沮丧的情况。很多。首先,我在 Windows 上,我使用 MinGW 作为编译器(C++)。

我在让程序使用 cpp-netlib 和 SSL(尝试 POST 到 https 站点)时遇到了一些问题。我相信一切都井井有条,除了这个不断逃避我的错误。
C:\boost_1_50_0\boost_1_50_0\stage\lib\libboost_thread-mgw46-mt-1_50.a(thread.o):thread.cpp|| undefined reference to 'boost::chrono::system_clock::now()'

我确定我已经链接到 chrono 以及 .a 中的所有 .a 库BOOST_ROOT/stage/lib。我试过重新排序,所以 chrono 在线程之前链接。没有任何帮助。我已经尝试BOOST_CHRONO_INLINED在我的 IDE 设置和多个conf.hpps 中定义它以使其仅成为标题,但这没有帮助。

我很确定这是一个新手问题,我希望有人能给我一个快速的解决方案。我匆忙写了这篇文章,因为我必须在某个地方,但是如果您需要更多信息,请说出来,我回家后会更仔细地写。谢谢!

4

1 回答 1

9

我试过重新排序,所以 chrono 在线程之前链接。

那是错误的。Boost.Thread 依赖 chrono,所以 chrono 需要在 thread之后链接,因此链接器知道需要哪些符号,并且可以找到哪个库定义了它们并链接到它。

于 2012-07-20T08:37:45.917 回答