Win7下VC2010编译STLPort5.2.1与Boost1.53.0教程及问题解决

4星 · 超过85%的资源 需积分: 12 59 下载量 46 浏览量 更新于2024-09-13 收藏 522KB PDF 举报
"这篇文档详细记录了在Windows 7环境下,使用Visual Studio 2010(vc2010)成功编译STLPort 5.2.1和Boost 1.53.0的过程,以及遇到的问题与解决策略。在编译STLPort时,需要对`_cstdlib.h`文件进行修改,以解决与Visual Studio 2010内置函数冲突的问题。在编译Boost时,文档并未给出完整的步骤,但提到了选择Visual Studio的相应版本进行配置。此外,还介绍了如何在vc2010中使用编译好的库,并警告可能出现的配置不当导致的问题及其解决方案。" 在编译STLPort 5.2.1时,关键步骤包括: 1. 修改`STLport.5.2.1\stlport\stl/_cstdlib.h`文件的第158行,添加条件编译指令,避免与VC的内置函数`abs`冲突。这是由于STLport与VS2010之间的兼容性问题。修改后的代码片段如下: ```cpp #if!defined(_STLP_MSVC)||(_STLP_MSVC<1600) inline_STLP_LONG_LONGabs(_STLP_LONG_LONG__x){return__x<0?-__x:__x;} #endif ``` 确保只有在VC版本低于1600(对应VS2010)的情况下才执行此代码,以防止编译错误。 2. 使用以下命令编译STLPort: ```bash cd ***\STLport.5.2.1 # 进入到stlPort解压缩的目录 configure.bat msvc9 cdbuild /lib nmake clean install ``` 这些命令会配置项目,构建库,并安装到指定位置。 对于Boost 1.53.0的编译,虽然具体的步骤未详述,通常需要执行以下步骤: 1. 解压Boost库到合适的位置。 2. 打开命令行,定位到Boost的源代码目录。 3. 使用`bootstrap.bat`脚本来配置Boost。 4. 使用`bjam`工具,指定相应的编译器和选项来编译Boost库。例如,对于Visual Studio 2010,可能会使用类似以下的命令: ```bash bjam toolset=msvc-10.0 --build-type=complete stage ``` 这将编译所有Boost库。 在vc2010中使用编译好的库时,可能需要: 1. 设置项目的附加包含目录,指向STLPort和Boost的头文件目录。 2. 设置附加库目录,指向编译生成的库文件位置。 3. 添加必要的链接器输入,将STLPort和Boost库添加到项目依赖中。 配置不当时可能出现的问题包括找不到库文件、链接错误、编译错误等。解决这些问题通常涉及检查库路径设置、编译选项、头文件引用等。确保所有依赖项已正确配置,并且库文件版本与编译器版本兼容。 该文档提供了一套详细的指南,帮助开发者在vc2010环境中克服编译STLPort 5.2.1和Boost 1.53.0时遇到的障碍,以及在项目中正确使用编译好的库。这对于那些初次接触这些库或者在特定环境下遇到问题的开发者来说,是非常有价值的参考资料。