簡體   English   中英

如何使用Visual Studio 2013 CTP構建Boost 1.55 2013年11月

[英]How do I build Boost 1.55 with Visual Studio 2013 CTP November 2013

我知道boost還不支持新的工具集,但是我還是想嘗試用它構建Boost。 我已經天真的嘗試使用Boost構建系統和選項toolset=msvc-12.0-ctp但是它不起作用。 我相信,自Boost 1.55正式支持Visual Studio 2013(msvc-12.0)以來,這是有可能的,並且兩個版本之間只有很少的重大更改。

我的動機是我需要CTP的某些功能,因此我自己的應用程序將使用msvc編譯器的CTP版本進行編譯。 恐怕僅使用原始2013編譯器編譯Boost會導致Boost與我自己的應用程序之間的二進制不兼容。 Stephen T. Lavavej本人不保證二進制兼容性

-在MSVC 2013年11月CTP中重用為MSVC 2013構建的Boost Binaries的任何機會

因為這僅是編譯器,所以您可能可以避免混合匹配。 不過,我不建議這樣做。

關於如何解決這個問題有什么想法嗎? 提前致謝。

請注意,我沒有使用Visual Studio 2013 November CTP構建Boost,因此進一步的解釋純粹是理論上的。

經過一番谷歌搜索和嘗試,終於,我做到了。 因此,算法為:

  1. 從Subversion簽出最新的Boost(可能可以通過發行版發行,但是我沒有嘗試過)

     svn co http://svn.boost.org/svn/boost/trunk boost-trunk 
  2. user-config.jam文件中指定編譯器的自定義路徑,該文件位於%BOOST_HOME%/tools/build/v2/ (其中%BOOST_HOME%是您檢出發行版的路徑):

    • 像這樣添加行:

    using msvc : 12.1 : "C:/Program Files (x86)/Microsoft Visual C++ Compiler Nov 2013 CTP/bin/cl" ;

    • 您可以使用任意字符串而不是12.1 ,只需稍后在調用b2時在此處添加一些內容來區分工具集

    • 別忘了在冒號前后,分號之前放置空格,並使用斜杠/或雙反斜杠\\\\代替反斜杠\\ 請參閱user-config.jam文件的注釋中的說明

    • 確保您在行首沒有# (即未注釋)

  3. 運行VS2013 x86 Native Tools Command prompt或手動運行cmd.exe ,然后通過調用"C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\vcvarsall.bat" -x86 如果需要,將x86更改為x64

  4. 將CTP編譯器的PATH添加到PATH變量中:

     set PATH=C:/Program Files (x86)/Microsoft Visual C++ Compiler Nov 2013 CTP/bin;%PATH% 
  5. 檢查發布CTP編譯器的路徑之前是否存在以下路徑:

     echo %PATH% 
  6. 轉到%BOOST_HOME%並運行b2 toolset=msvc-12.1 ...<other params go there>...

  7. 在流程管理器或ProcessExplorer中,檢查b2調用CTP編譯器,而不發布一個

  8. 不幸的是,並非所有庫都能正常運行。 有一些編譯錯誤。

也可以看看:

希望能幫助到你。 建設愉快! =)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM