我在嘗試設置增強子集並使用bjam正確編譯,但是我沒有得到我期待的結果。我正在使用boost 1.37.0在windows上工作。在Windows中構建增效子集
比方說,我想建立/安裝庫smart_ptr和文件系統。我故意選擇了僅包含頭文件的庫和一個需要編譯庫的庫。如果我用bjam(即不指定任何--with-libraryX)構建一個完整的boost安裝,但是當然沒有我不感興趣的所有庫,我希望它們被構建到類似於我將得到的目錄結構中
我的第一種方法是在bjam中使用--with-filesystem --with-smart_ptr,但它好像不識別smart_ptr(我試過smartptr和smart-ptr沒有成功)。我想這是因爲它只是一個頭文件庫。
當我刪除它,只有--with文件系統似乎所有庫頭文件複製到安裝路徑,只建庫文件系統。圖書館的建設行爲是我所希望的,但是我有很多庫文件頭文件,我不想安裝在boost目錄中。
我的第二種方法是使用bcp來複制相關項目。這確實起到了作用,因爲我只獲得了我關心的項目(及其依賴項)。但是他們沒有提供任何構建被複制的庫的make文件。這意味着我需要爲所有不是標題的庫設置項目文件並手動構建它們。
所以我的問題是,基本上,是有選擇性地建設提升的方式,只複製標題對我很感興趣,只有建立庫文件的非頭只有我感興趣的庫庫(和提升他們依賴課程的圖書館)?
可能有很多基於手動/腳本的解決方案,但是如果我只能使用bjam運行某些內容,對我來說會更加有用,因爲添加新庫或升級到新的boost版本將非常簡單。
編輯: 添加的第一種方法的完整的命令行:
bjam install --prefix=c:\temp\boostsmall
--build-dir=C:\temp\boostsmalltemp --layout=system
--with-filesystem variant=debug link=static threading=multi
runtime-link=static
更改使用scoped_ptr到smart_ptr
我有試圖獲得正則表達式安裝相同的問題。不過不得不復制工具目錄。 – 2009-04-21 08:54:15