1. 程式人生 > >Boost1.67編譯+CMake Generate時遇到的一個錯誤

Boost1.67編譯+CMake Generate時遇到的一個錯誤

blank vco detail 兩個 del lse address highlight 下載源碼

下載的一個庫編譯時依賴boost,記錄一下boost的編譯:

  1. 下載源碼
  2. vs命令行裏cd到根目錄,運行bootstrap.bat,發現多了幾個文件{b2.exe、bjam.exe、project-config.jam、bootstrap.log。其中b2.exe和bjam.exe兩個作用一樣,bjam.exe對應的是老版本,b2是bjam的升級版本。}
  3. 生成好編譯程序以後,可以使用以下命令來編譯boost了。
    b2.exe stage --toolset=msvc-14.1 address-model=64 --stagedir="E:\Documents\boost_1_67_0\boost_1_67_0\VC14" threading=multi --build-type=complete –-build-dir="E:\Documents\boost_1_67_0\boost_1_67_0\build"
    

    參數含義參考 鏈接

  4. 漫長的等待。

-------------------------------------------------------------------------------------------------------------------------------------------------

編好boost後,將路徑寫到cmakelist文件後Configure成功了

set(OpenCV_DIR "E:/Documents/Opencv/opencv/build_64")
set(BOOST_INCLUDEDIR "E:/Documents/boost_1_67_0/boost_1_67_0")
set(BOOST_LIBRARYDIR "E:/Documents/boost_1_67_0/boost_1_67_0/VC14/lib")

但是generate時出錯了:

技術分享圖片

說是路徑給錯了,的確上面的"D:/Documents/Opencv/opencv/build2"路徑是不存在的。找了半天才發現這個路徑是設定在:opencv build目錄下的OpenCVConfig.cmake文件裏的:

技術分享圖片

我編譯opencv時是在這個路徑,後來重裝系統後磁盤名變了。當別的庫依賴opencv時,cmake generate的時候會去這個文件裏面找opencv相關的路徑,所以會出錯。

Boost1.67編譯+CMake Generate時遇到的一個錯誤