【发布时间】:2012-01-27 22:22:06
【问题描述】:
我正在使用 boost 的线程库,但在 Visual Studio 中遇到了链接问题。
现在,我正在使用 /MT 编译我的 VS 项目。我要链接的库名为 libboost_thread-vc100-mt-1_48.lib,这似乎表明它也是使用 /MT 编译的。
但是,如果我在链接器设置中关闭所有 /MD 相关库(属性 -> 链接器 -> 输入 -> 忽略特定默认库)...
msvcrt.lib
msvcrtd.lib
msvcprt.lib
msvcprtd.lib
然后我得到链接器错误!
libboost_thread-vc100-mt-1_48.lib(thread.obj) : error LNK2001: unresolved external symbol __imp___gmtime64
libboost_thread-vc100-mt-1_48.lib(thread.obj) : error LNK2001: unresolved external symbol __imp___beginthreadex
这怎么可能仅仅通过关闭 /MD 相关库来实现? boost::thread 应该只链接 /MT 中的库(应该是 LIBCMT.LIB、LIBCPMT.LIB)。是不是我编译的 boost 有误?
【问题讨论】:
标签: visual-studio boost linker boost-thread mt