2013-02-15 58 views
2

我正在使用vs2012運行所有構建,但通過python構建腳本運行。我正在嘗試構建Boost 1.52,並且需要靜態鏈接到zlib。我有一個zlib版本,默認情況下,它創建了靜態庫zlib.lib和dll zlib1.dll以及關聯的zdll.lib。然後,我使用開關構建boost庫:使用zlib構建Boost 1.52作爲靜態庫

-sZLIB_BINARY=zlib -sZLIB_INCLUDE=%s -sZLIB_LIBPATH=%s 

其中%s被相應的文件夾替換。我相信這應該會導致鏈接到靜態zlib.lib文件。我有一個使用所有這些的應用程序。我鏈接到zlib.lib並運行最終的exe的依賴關係者,並獲得zlib1.dll。我對zlib沒有其他依賴關係,所以這是唯一可以來自這個地方的地方。我在http://www.boost.org/doc/libs/1_43_0/libs/iostreams/doc/installation.html人還加入我看過,雖然安裝文檔開關

-sNO_ZLIB=0 

,並不能找到任何東西,我很想念。

預先感謝您...

+0

我已經通過以下方式解決了這個... 雖然尋找其他鏈接我發現,在升壓有一個 的#pragma評論(zlib的,BOOST_ZLIB_BINARY) 並且這個標誌是在devenv的預處理程序設置中設置爲我的最終項目zdll.lib。我調整了這zlib.lib,一切正常工作。 – MichaelB 2013-02-18 18:22:27

回答

0

我已經通過以下方式解決了這個......雖然尋找其他鏈接我發現,在升壓有一個

# pragma comment(lib, BOOST_STRINGIZE(BOOST_ZLIB_BINARY)) 

並且這個標誌BOOST_ZLIB_BINARY在devenv的預處理器設置中爲我的最終項目設置爲zdll.lib。我調整了這zlib.lib,一切正常工作。