Boost1.67编译+CMake Generate时遇到的一个错误
Posted redips
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Boost1.67编译+CMake Generate时遇到的一个错误相关的知识,希望对你有一定的参考价值。
下载的一个库编译时依赖boost,记录一下boost的编译:
- 下载源码
- vs命令行里cd到根目录,运行bootstrap.bat,发现多了几个文件{b2.exe、bjam.exe、project-config.jam、bootstrap.log。其中b2.exe和bjam.exe两个作用一样,bjam.exe对应的是老版本,b2是bjam的升级版本。}
- 生成好编译程序以后,可以使用以下命令来编译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"
参数含义参考 链接
- 漫长的等待。
-------------------------------------------------------------------------------------------------------------------------------------------------
编好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时遇到的一个错误的主要内容,如果未能解决你的问题,请参考以下文章
Boost union 在 1.67 中不起作用,但在 1.61 中起作用。为啥?
编译报错:“error: vendor/qcom/proprietary/chi-cdk/core/lib/common/g_pipelines.h was not generat”
编译报错:“error: vendor/qcom/proprietary/chi-cdk/core/lib/common/g_pipelines.h was not generat”
编译报错:“error: vendor/qcom/proprietary/chi-cdk/core/lib/common/g_pipelines.h was not generat”