您好,登錄后才能下訂單哦!
場景
?Qpid依賴Boost庫,一般情況下,使用CMake生成VS解決方案的時候,需要指定Boost頭文件和庫文件目錄,否則出現如下的錯誤編譯提示:
Could not find the following Boost libraries:? boost_sysytem ,boost_thread?
解決方案一:
在環境變量中新建一個:名為BOOST_ROOT,值為E:\work2\boost_1_58_0
解決方案二:
在環境變量中新建一個:名為BOOST_INCLUDEDIR,值為E:\work2\boost_1_58_0
在環境變量中新建一個:名為BOOST_LIBRARYDIR,值為E:\work2\boost_1_58_0\stage\lib
重啟系統,讓環境變量生效
?
注意事項
1)CMake只能搜索到Boost編譯的動態庫,靜態庫編譯無法搜索
2)直接從官方下的編譯好的包,而編譯好的包里頭,庫文件目錄的名字是lib64-msvc-12.0,需要修改為lib或者stage/lib
FindBoost.cmake文件是如何搜索Boost lib文件的呢?
下面是搜索Boost lib的腳本代碼,當然如果不修改庫文件目錄可以添加如下
????? ${Boost_INCLUDE_DIR}/lib64-msvc-12.0
??? list(APPEND _boost_LIBRARY_SEARCH_DIRS_${c}
????? ${Boost_INCLUDE_DIR}/lib
????? ${Boost_INCLUDE_DIR}/../lib
????? ${Boost_INCLUDE_DIR}/stage/lib
????? )
3)下載Boost源碼編譯動態庫
b2.exe? --build-type=complete --build-dir=build_tmp toolset=msvc-14.0 address-model=32 stage
說明:stage說明將編譯的庫文件復制到stage目錄,生成過程的文件保存在build_tmp目錄,toolset指定使用VS2015編譯器
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。