在工作中,我们有一个使用 1.35 构建良好的 MFC 扩展 DLL,但使用 1.43 构建时会导致以下错误:
error LNK2005: __pRawDllMain already defined in ApObs.obj
如果我激活 BOOST_LIB_DIAGNOSTIC 旧的构建列表:
linking to lib file: libboost_thread-vc71-mt-gd-1_35.lib
和
linking to lib file: libboost_thread-vc71-mt-gd-1_43.lib
所以没有改变与哪个库链接
完整的错误信息是:
libboost_thread-vc71-mt-gd-1_43.lib(tss_pe.obj) : error LNK2005: __pRawDllMain already defined in ApObs.obj
我在两个库版本中对 tss_pe.cpp 做了一个差异,它们是相同的,所以我不确定问题是什么。
您可以通过定义让消息消失,BOOST_THREAD_USE_DLL
但是我们需要发送 BOOST_THREAD-VC71-MT-GD-1_43.DLL 所以我认为这不是最好的解决方案。