職場では、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 の diff を実行しましたが、それらは同一であるため、何が問題なのかわかりません。
定義することでメッセージを消すことができますが、BOOST_THREAD_USE_DLL
BOOST_THREAD-VC71-MT-GD-1_43.DLL を出荷する必要があるため、これが最善の解決策ではないと思います。