编译环境: Win7 64位
因为Boost教程《Boost程序库完全开发指南》中提到STLport是配合Boost程序库工作的默认标准库,且我的编译器是VS2010,而目前STLport的编译在官网上最新只支持到VS2008,所以需要手动改一下源代码。文件在STLport库目录下的stlportstl_cstdlib.h
将158行的:
inline _STLP_LONG_LONG abs(_STLP_LONG_LONG __x) { return __x < 0 ? -__x : __x; }
加个条件编译,即改成:
#if !defined(_STLP_MSVC) || (_STLP_MSVC < 1600)
inline _STLP_LONG_LONG abs(_STLP_LONG_LONG __x) { return __x < 0 ? -__x : __x; }
#endif
然后再按普通编译流程如下操作:
一、打开VS2010 的"Visual Studio x64 Win64 命令提示(2010)"
二、进入STLport库目录:cd D:ProjectDevelopSTLport-5.2.1
三、按行输入以下命令:
configure.bat msvc9
cd build/lib
nmake clean install
耐性等待几分钟则编译通过,生成的dll与lib文件将在STLport库目录下的bin与lib目录下。