簡體   English   中英

如何在不安裝的情況下將opencv源文件包含為cmake依賴項?

[英]How to include opencv source files as a cmake dependency without installing it?

我的系統中已經安裝了opencv,但是我不想使用已安裝的版本。 安裝的版本(來自發行版存儲庫)是使用gcc 7編譯的。

我想使用在單獨路徑中安裝的舊版gcc編譯器以opencv和dlib作為依賴項來編譯C ++項目。 我已經下載了opencv源並將其解壓縮到一個單獨的文件夾中。 包含它的正確方法是什么,以便在編譯期間將其作為依賴項進行編譯並包含在內?

這是我的項目結構。

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參數傳遞自定義路徑,以使您的項目更健壯一些,以備將來使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM