我正在使用 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?