Boost1.67编译+CMake Generate时遇到的一个错误

下载的一个库编译时依赖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:Documentsoost_1_67_0oost_1_67_0VC14" threading=multi --build-type=complete –-build-dir="E:Documentsoost_1_67_0oost_1_67_0uild"
    

    参数含义参考 链接

  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相关的路径,所以会出错。

原文地址:https://www.cnblogs.com/redips-l/p/9290985.html