我正在尝试为分发获得一致的 VC++ 运行时,但我找不到任何迫使 boost/bjam 合作的东西。
我已经使用此链接中的方法成功编译了 libcurl 和 UnitTest++。
避免 VC2005 SP1 安全更新 KB971090 出现问题
一般策略是将此标头包含在所有 cpp 文件中。
#ifndef __midl
#define _SXS_ASSEMBLY_VERSION "8.0.50727.762"
#define _CRT_ASSEMBLY_VERSION _SXS_ASSEMBLY_VERSION
#define _MFC_ASSEMBLY_VERSION _SXS_ASSEMBLY_VERSION
#define _ATL_ASSEMBLY_VERSION _SXS_ASSEMBLY_VERSION
#ifdef __cplusplus
extern "C" {
#endif
__declspec(selectany) int _forceCRTManifest;
__declspec(selectany) int _forceMFCManifest;
__declspec(selectany) int _forceAtlDllManifest;
__declspec(selectany) int _forceCRTManifestRTM;
__declspec(selectany) int _forceMFCManifestRTM;
__declspec(selectany) int _forceAtlDllManifestRTM;
#ifdef __cplusplus
}
#endif
#endi
b2
具有设置 cxxflags 的选项,尽管它们似乎不尊重我的/FI
编译选项来使用标头并强制正确的运行时。我假设他们正在使用其他东西。我想 boost 不使用 msvc 标志?
我想8.0.50727.762
专门编译 boost 。