Win7下VC2010编译STLPort5.2.1与Boost1.53.0教程及问题解决
4星 · 超过85%的资源 需积分: 12 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时遇到的障碍,以及在项目中正确使用编译好的库。这对于那些初次接触这些库或者在特定环境下遇到问题的开发者来说,是非常有价值的参考资料。
2018-04-07 上传
点击了解资源详情
2011-11-10 上传
2009-01-21 上传
2010-01-19 上传
2011-09-12 上传
2009-12-21 上传
2022-07-29 上传
tyq1
- 粉丝: 2
- 资源: 29
最新资源
- Android圆角进度条控件的设计与应用
- mui框架实现带侧边栏的响应式布局
- Android仿知乎横线直线进度条实现教程
- SSM选课系统实现:Spring+SpringMVC+MyBatis源码剖析
- 使用JavaScript开发的流星待办事项应用
- Google Code Jam 2015竞赛回顾与Java编程实践
- Angular 2与NW.js集成:通过Webpack和Gulp构建环境详解
- OneDayTripPlanner:数字化城市旅游活动规划助手
- TinySTM 轻量级原子操作库的详细介绍与安装指南
- 模拟PHP序列化:JavaScript实现序列化与反序列化技术
- ***进销存系统全面功能介绍与开发指南
- 掌握Clojure命名空间的正确重新加载技巧
- 免费获取VMD模态分解Matlab源代码与案例数据
- BuglyEasyToUnity最新更新优化:简化Unity开发者接入流程
- Android学生俱乐部项目任务2解析与实践
- 掌握Elixir语言构建高效分布式网络爬虫