我来这里是为了解决让我感到沮丧的情况。很多。
首先,我在 Windows 上,我使用 MinGW 作为编译器 (C++)。
我在让程序使用 cpp-netlib 和 SSL(尝试发布到 https 站点)时遇到了一些问题。我相信一切都井井有条,除了这个一直在逃避我的错误。
C:\boost_1_50_0\boost_1_50_0\stage\lib\libboost_thread-mgw46-mt-1_50.a(thread.o):thread.cpp||对“boost::chrono::system_clock::now()”的 undefined reference
我确信我已经链接到 chrono,以及 BOOST_ROOT/stage/lib
中的所有 .a 库。我试过重新排序,所以 chrono 在线程之前链接。没有任何帮助。
我已经尝试在我的 IDE 设置和多个 conf.hpp
中定义 BOOST_CHRONO_INLINED
以使其仅成为 header ,但这没有帮助。
我很确定这是一个新手问题,我希望有人能给我一个快速修复。我匆忙写了这篇文章,因为我必须在某个地方,但如果您需要更多信息,请这样说,我回家后可以更仔细地写。谢谢!
最佳答案
I've tried re-ordering so chrono is linked before thread.
这是错误的。 Boost.Thread 依赖于 chrono,所以 chrono 需要链接到 thread 之后,这样链接器就知道需要哪些符号并且可以找到定义它们的库并链接到它。
关于c++ - 对 `boost::chrono::system_clock::now()' 的 undefined reference - Boost 和 cpp-netlib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11575660/