gpt4 book ai didi

c++ - 如何在不安装的情况下将 opencv 源文件包含为 cmake 依赖项?

转载 作者:太空宇宙 更新时间:2023-11-04 12:16:24 24 4
gpt4 key购买 nike

我的系统中安装了 opencv,但我不想使用已安装的版本。安装的版本(来自发行版存储库)是使用 gcc 7 编译的。

我想使用安装在单独路径中的旧版 gcc 编译器编译一个以 opencv 和 dlib 作为依赖项的 C++ 项目。我已经下载了 opencv 源并将其解压缩到一个单独的文件夹中。包含它的正确方法是什么 cmake 以便它在编译期间被编译并作为依赖项包含在内?

这是我的项目结构。

projects/
|--> project1/
| |--> main.cpp
| |--> CMakeLists.txt
|
|--> dlib/
|
|--> opencv-3.3.1/

我的 CMakeLists.txt 看起来像这样。

cmake_minimum_required(VERSION 2.8.12)

project(project1)
add_subdirectory(../dlib/dlib dlib_build)
add_subdirectory(../opencv-3.3.1/dlib opencv_build)

add_executable(project1 main.cpp)
target_link_libraries(project1 dlib::dlib opencv)

最佳答案

要指定不同的编译器,请将 -DCMAKE_CXX_COMPILER -DCMAKE_CC_COMPILER 参数传递给 cmake,每个参数都引用适当的路径和命令。

当您在 add_library 函数中添加源时,请告诉它源的确切位置。所以...

list(${CUSTOM_OPENCV} APPEND
"/custom/path/source1.cpp"
"/custom/path/source2.cpp"
)

add_library(my_app ${CUSTOM_OPENCV})

我可能会这样做。您甚至可能希望通过 cmake 参数传入自定义路径,以使您的项目在未来使用时更加健壮。

关于c++ - 如何在不安装的情况下将 opencv 源文件包含为 cmake 依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47305363/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com