系统:XP3
IDE:VS2005
程序类型:MFC扩展动态库
BOOST版本:1.39
链接BOOST方式:静态
程序代码片段:#include <boost/thread/thread.hpp>
...
...
boost::thread_group threadGroup; // 只定义了这个,其它的什么都没开始做,编译时报错
编译出错提示:
1>libboost_thread-vc80-mt-gd-1_39.lib(tss_pe.obj) : error LNK2005: __pRawDllMain 已经在 TestBoost.obj 中定义
1>   正在创建库 D:\MyStudio\Code\Vc\测试工程\TestBoostAAA\Debug\TestBoost.lib 和对象 D:\MyStudio\Code\Vc\测试工程\TestBoostAAA\Debug\TestBoost.exp
1>D:\MyStudio\Code\Vc\测试工程\TestBoostAAA\Debug\TestBoost.dll : fatal error LNK1169: 找到一个或多个多重定义的符号
换了最新的1.47问题依旧,但如果是在主程序(EXE)中使用则不会出错,或者使用动态方式链接BOOST也不会出错。