Win7下編譯STLport 5.2.1 與 boost_1_54_0的方法
(一)編譯STLport:
1、打開VS2010的 “Visual Studio Command Prompt (2010)” 工具
2、進入到STLport的解壓目錄,而且在該目錄下可以看到“configure.bat”
3、cd 進入STLport目錄下
4、輸入 “configure msvc9”
5、輸入 “cd build/lib”
6、輸入 “nmake clean install”
7、可以将“../build/lib"目錄下的obj目錄删除。
可能出現錯誤如:
error C2084: function'__int64 abs(__int64)' already has a body
解決方法:
1、打開你的STLport目錄\stlport\stl下的_cstdlib.h,用vs2010或者其它工具
2、将158行:
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
(二)用STLport編譯boost_1_54_0
1、打開VS2010的 “Visual Studio Command Prompt (2010)” 工具
2、進入到boost解壓目錄,在該目錄下可以看到“bootstrap.bat”
3、cd boost目錄
4、輸入 “bootstrap.bat”
5、則在目前目錄下會生成一個bjam.exe的應用程式
6、進入到 “boos目錄/tools/build/v2”,在該目錄下找到user-config.jam這個檔案,以文本的形式打開,在文本的最後添加:“using stlport : 5.2.1 : 你的STLport目錄/stlport ;”,一定得注意“:”與“;”前有一個空格,否則,執行會失敗。
7、輸入 “bjam --toolset=msvc-10.0 --build-type=complete stdlib=stlport stage”
(三)不用STLport編譯boost_1_54_0
在上面的第6步:輸入“.\b2”,而且這種方法比較快。
(四)針對boost,其實我們可以嵌入自己的工程編譯(《boost程式庫完全開發指南》),也就是說我們隻需要解壓即可。但是這樣可以就不會使用STLport編譯了。
(五)将STLport目錄與Boost目錄加入到VS2010中。
在“VC++Directories”的“Include Directories”中增加boost目錄與STLport目錄
轉載于:https://www.cnblogs.com/wang-can/p/3338942.html