2011-04-20 48 views
2

所以有Boost.Process 2006,Boost.Process 2008和最近的Boost.Process seems like 2009 by looking at sources)我需要一些關於如何編譯這個野獸的一步一步的指導。因爲我不知道怎麼做這樣的事情。如何編譯Boost.Process庫?

所以generall官方升壓我明白了什麼應該做

隨着出管理權限:

  • 下載最新版本升壓。
  • 解壓縮後,將下載的內容提取到某個文件夾中。
  • 打開,在終端文件夾(例如您CA打開「加利福尼亞」或「終端」像cd absolute/path/to/directory/with/extracted/Boost不是使用命令在Windows上顯示文件夾的內容在Unix ls像OS(蘋果機和Linux)和dir的使用命令 - 輸出你應該能夠找到boost-build.jam
  • 創建兩個文件夾(使用命令狀mkdirFOLDERNAMEbuild-dirinstall-dir
  • 運行命令./booststrapbooststrap.shbooststrap.bat在Windows上)
  • 現在我們CA n編譯Boost並安裝它./bjam -j4 link=static threading=single,multi --builddir=./build-dir install --without-mpi --prefix=./install-dir
    • 這樣的調用會將Boost的靜態庫編譯爲build-dir。 (你可能不會有能力使用Boost從那裏 - 不會有包括標題和一個真正的大目錄層次結構)
    • bjam將爲我們創建「安裝」升壓到install-dir - 將出現文件夾與所有升壓庫(靜態版本)和包括所有升壓頭的文件夾。
    • 我們設置-j4標誌以在4個內核上編譯。使用-j N其中N是在編譯過程中要使用的所需內核的數量。
    • 我們設置了--without-mpi標誌,因爲我們可能不使用它。

但有真正的推動解壓後,編譯,安裝在DIR A(bjam的是文件夾b)具有Boost.Process下載,解包並解壓到目錄C如何編譯任何3個Boost.Process的發佈(沒有管理權限)?

+0

沒有答案,因爲它沒有解決如何構建它,但肯定有比2009年更新的boost.process代碼。至少,2010年GSoC存儲庫:http://svn.boost.org/ svn/boost/sandbox/SOC/2010/process/ – ildjarn 2011-04-20 16:04:22

+0

@ildjarn:這似乎只是標題,但它是deffenetly相當不是最新的... – Rella 2011-04-20 18:59:18

+0

它是版權2010年,這是比任何其他來源更新'已經看到。 – ildjarn 2011-04-20 20:53:48

回答

1

我這樣做一次或兩次,這是我記得:

例如下載升壓後的庫從沙盒中,將lib解壓縮到驅動器上,就像您說的,例如文件夾C.如果打開C文件夾,它通常與boost源的其餘部分具有相同的文件夾結構。至少在我嘗試過的有限圖書館中就是如此。

從那裏將提取的源文件夾中的單個文件和文件夾複製到boost源中的相應文件夾中。

E.g.在進程 的情況下 - 將C/boost/process.hpp和C/boost/process /複製到boost_src_dir/boost/ - 將C/libs/process /複製到boost_src_dir/libs /。

從那裏執行bjam(假設bjam可執行文件在你的路徑上)再次在boost根目錄下,並且在我的例子中構建了包括新庫在內的所有東西。我記得使用boost log和process來做這件事,並且不能想到必須做其他事情。

這樣做的缺點是一切都得到重新編譯。也許別人有更好的方法來做到這一點。

至於管理員權限,他們應該沒有關係,因爲您正在以與構建原始版本相同的方式構建提升。

+0

傳遞bjam例如'--with-process'應該防止重建的其餘部分。 – ildjarn 2011-04-20 17:43:25

+0

@ildjarn非常感謝,下次再試一次:) – Ralf 2011-04-21 14:14:08