我目前正在將其中一個項目移植到GCC,並且我正在使用MinGW-w64項目來完成此任務,因爲我需要x64和x86支持。使用MinGW-w64和Boost.Build構建C++環境
雖然我在設置構建環境時遇到了問題。我的項目目前使用Boost C++庫,並且使構建過程更簡單我也在項目中使用Boost.Build(因爲它使得集成變得簡單)。
在MSVC這是好的,因爲我可以做在命令行以下操作:
b2 toolset=msvc address-model=32 # compile as 32-bit
b2 toolset=msvc address-model=64 # compile as 64-bit
的MinGW-W64是使這種「有問題」,因爲在32位和64位的工具鏈容納在單獨的目錄中。 (分別爲C:\ MinGW32和C:\ MinGW64)。
是否有可能以某種方式設置Boost.Build,以便根據地址模型標誌選擇正確的工具鏈?如果不是,我的下一個最佳選擇是什麼?
編輯:
如果有幫助,我使用的是rubenvb 4.6.3-1從MinGW的-W64網站建設「個人構建」文件夾中(我使用這些構建特別是我想嘗試讓我的代碼解析 - 但不能編譯 - 在鐺下)。
編輯:
一個解決方案我還以爲會是「手動」設定的路徑指向編譯之前正確的工具鏈,然而,這增加了複雜性的一個額外層到我的構建過程中,我會喜歡避免。理想情況下,我希望它像MSVC一樣簡單,但我明白這可能是不可能的。在最壞的情況下,我假設我剛剛建議的工作,並且我只需添加腳本以在調用Boost.Build之前正確設置PATH。這意味着硬編碼路徑,但我不想這麼做...
有什麼辦法可以在工具鏈中不添加前綴的情況下做類似的事情嗎?我想使用「默認」工具鏈名稱,並使用地址模型標誌檢測到32/64位部分。 – RaptorFactor 2012-01-11 11:55:39
例如b2 toolset = gcc address-model = 32 – RaptorFactor 2012-01-11 11:55:55
不是我所知道的,address-model顯然不支持作爲mingw-gcc的參數。請問爲什麼使用address-model = 32在你的情況下更好? – Kristofer 2012-01-11 12:05:21