Windows 上 Boost + OpenCV + CMake 的环境配置方案:只配两件事
从零配置的一套通用方案:环境变量 + CMakePresets.json。一次配好,所有项目通用。Windows 端只配 Boost + OpenCV,不配 Qt(Qt 开发放在 Linux 端)。 文中 <OpenCV安装目录>、<Boost根目录>、<项目根目录> 为占位符,替换成本机实际目录即可。 一、环境变量(系统变量) 在 Windows「系统属性 → 环境变量」里,系统变量新建: 变量名 值 作用 OpenCV_DIR <OpenCV安装目录>\build\x64\vc16\lib OpenCV 的 Config.cmake 所在目录 BOOST_ROOT <Boost根目录> Boost 根目录 PATH 追加(运行时找 dll): <OpenCV安装目录>\build\x64\vc16\bin Boost 不用加 PATH,静态库,运行时不需要 dll。 二、每个库的配置细节 OpenCV 关键文件(示例路径): <OpenCV安装目录>\build\x64\vc16\lib\OpenCVConfig.cmake <OpenCV安装目录>\build\x64\vc16\lib\opencv_world4100.lib <OpenCV安装目录>\build\x64\vc16\lib\opencv_world4100d.lib 变量: OpenCV_DIR = <OpenCV安装目录>\build\x64\vc16\lib CMake 里: find_package(OpenCV REQUIRED) target_include_directories(main PRIVATE ${OpenCV_INCLUDE_DIRS}) target_link_libraries(main PRIVATE ${OpenCV_LIBS}) Boost 关键文件(示例路径): <Boost根目录>\stage\lib\cmake\Boost-1.81.0\BoostConfig.cmake <Boost根目录>\stage\lib\libboost_filesystem-vc143-mt-x64-1_81.lib <Boost根目录>\stage\lib\libboost_filesystem-vc143-mt-gd-x64-1_81.lib 变量: BOOST_ROOT = <Boost根目录> CMake 里: set(Boost_NO_SYSTEM_PATHS ON) set(Boost_USE_STATIC_LIBS ON) set(Boost_USE_MULTITHREADED ON) find_package(Boost 1.81 REQUIRED COMPONENTS filesystem system thread) target_link_libraries(main PRIVATE Boost::filesystem Boost::system Boost::thread) 注意:Boost 大部分是 header-only,find_package 只对需要编译的库(filesystem、system、thread 等)起作用。header-only 的库直接 #include 就行,CMake 里不用 find_package。 ...
豫公网安备41108202000982号