【发布时间】:2017-11-15 10:45:54
【问题描述】:
我的系统中安装了 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)
【问题讨论】:
-
您是说您想使用与您系统上安装的 gcc 不同的 gcc 运行 cmake 项目吗?或者您想使用与系统上安装的不同的 opencv 源进行编译?
-
系统安装了gcc7,也安装了gcc7编译的opencv版本。我不想使用它们中的任何一个,因为我需要 cuda 支持。我通过在终端设置 CC 和 CXX 变量将 gcc6 安装在我正在使用的不同路径中。我想在我的项目中使用opencv,但我不能使用已安装的,所以我需要将源代码中的opencv作为依赖项。
标签: c++ linux opencv build cmake