2009年1月1日 星期四

STL5.2.1版編譯與VC安裝

STL安裝:

1. 首先,當然需要取得STLport原始檔案

請到http://sourceforge.net/projects/stlport/去下載最新版本,並將之解壓縮到一個你覺得名字夠響亮的資料夾下,就"C:\mighty-STL"好了,為了方便,以後稱這個資料夾為"[STLport]"。



2. 設定編譯變數

用來指定VC DOS指令的相關變數、執行檔路徑等

(2.a)開一個DOS視窗(應該不用教了...)

(2.b)然後執行你VC資料夾下面的一個批次檔

2003版,沒有意外,是這樣"C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\vsvars32.bat"

2008版,沒有意外,是這樣"C:\Program Files\Microsoft Visual Studio .NET 2008\Common7\Tools\vsvars32.bat"

記得喔,在DOS視窗下,頭尾兩個 " 都要打喔,不然會被視為錯誤的指令



3. 編譯STLport

(3.a) 設定STLport編譯環境

DOS視窗路徑移動到[STLport]下,執行"configure 你的vc版本代號",代號清單如下:

msvc6 VC6.0

msvc7 VC.net 2002

msvc71 VC.net 2003

msvc8 VC.net 2005

msvc9 VC.net 2008

例如,我的VC是2008,指令就是: "configure msvc9"

(3.b) 開始編譯

DOS視窗路徑移動到[STLport]\build\lib

執行 "nmake clean install"

正常的話,開始等約數分鐘,可以在[STLport]\lib\發現編譯好的函式庫了

STLport編譯預設為多行緒的函式庫,如果想要產生非多行緒的函式庫,請在configure 時,加入"--without-thread"選項,不過,非SingleThread的專案,就link不過了,因為兩者編譯出來的函式庫名稱相同,所以想要兩者共存,需要自行指定函式庫。

4. VC環境設定
(4.a) 新增include資料夾 [STLPort]\stlport,需要放在第一個,避免VC編譯時仍然採用舊版隨機送的STL
(4.b) 新增lib資料夾 [STLPort]\lib,先後順序無所謂...
(4.c) 執行時預設VC自動連結相關函式庫,除非你太閑,把[STLport]\stlport\stl\config\user_config.h中定義 _STLP_DONT_USE_AUTO_LINK打開,每個專案都要定義_STLP_VERBOSE_AUTO_LINK一次
(4.d) 如果你不想使用STLport了,可以於編譯時定義以下兩值,強迫使用STD版(對某些情況,如怎麼編譯就是不會成功的,我有一個MFC專案就是如此...文件說可以定義_STLP_USE_MFC...)
#define _STLP_DONT_REDEFINE_STD
#define _STLP_WHOLE_NATIVE_STD

沒有留言:

張貼留言