IMPORTED_LOCATION"${ffmpeg_LIBRARY}"INTERFACE_COMPILE_OPTIONS"${ffmpeg_DEFINITIONS}"INTERFACE_INCLUDE_DIRECTORIES"${ffmpeg_INCLUDE_DIR}") endif() 2.使用方法: CMAKE_MODULE_PATH:设置.cmake的查找路径 find_package:找module 例: cmake_minimum_required(VERSION3.9) project(test)set(CMAKE_BUILD_TYPE Deb...
find_package在一些目录中查找OpenCV的配置文件。 找到后,find_package会将头文件目录设置到${OpenCV_INCLUDE_DIRS}中,将链接库设置到${OpenCV_LIBS}中。 设置可执行文件的链接库和头文件目录,编译文件。 到现在为止出现了第一个问题。那就是: find_package会在哪些目录下面寻找OpenCV的配置文件? find_package目录 ...
具体的说,这里是把项目根目录(CMakeLists.txt在项目根目录,${PROJECT_SOURCE_DIR}表示CMakeLists.txt所在目录)下的cmake/Modules子目录对应的路径值,追加到CMAKE_MODULE_PATH中;CMAKE_MODULE_PATH后续可能被include()和find_package()等命令所使用 包含文件 例如:include(utils.cmake) 基本等同于C/C++中的#incl...
定义XXX_INCLUDE_DIRS和XXX_LIBRARIES:find_path()每次只能获得一个头文件所在路径,对于有很多头文件的库,需要通过多次find_path找到各自路径,并将它们合并为XXX_INCLUDE_DIRS, 如果一个库有很多库文件,那么也需要多次find_library()找到各个库对应的路径,并将其合并为XXX_LIBRARIES; 定义XXX_FOUND和XXX_VERSION: 确...
include_directories(${OpenCV_INCLUDE_DIRS}) target_link_libraries(my_bin, ${OpenCV_LIBS}) 工作流程如下: find_package在一些目录中查找OpenCV的配置文件。 找到后,find_package会将头文件目录设置到${OpenCV_INCLUDE_DIRS}中,将链接库设置到${OpenCV_LIBS}中。
例子2 Findjsoncpp.cmake include(FindPackageHandleStandardArgs) set(jsoncpp_ROOT_DIR /xxx/x86_64/jsoncpp CACHE PATH "Folder contains jsoncpp" ) find_path(jsoncpp_INCLUDE_DIR json/json.h PATHS ${jsoncpp_ROOT_DIR}/include) find_library(jsoncpp_LIBRARY jsoncpp ...
OpenCV_INCLUDE_DIRS 是头文件路径 OpenCV_LIBS 是库文件地址 有了头文件和库文件,自然而然可以正常引用 OpenCV 了。 package 的通用套路 实际上,通过 find_package() 可以顺利查找任何符合 cmake package 标准的外部工程。 find_pacage()方法签名如下: ...
find_package在一些目录中查找OpenCV的配置文件。 找到后,find_package会将头文件目录设置到${OpenCV_INCLUDE_DIRS}中,将链接库设置到${OpenCV_LIBS}中。 设置可执行文件的链接库和头文件目录,编译文件。 到现在为止出现了第一个问题。那就是: find_package会在哪些目录下面寻找OpenCV的配置文件?
find_package(CURLREQUIRED)include_directories(${CURL_INCLUDE_DIR})target_link_libraries(curltest ${CURL_LIBRARY}) 那么cmake是如何查找的呢? find_package()命令首先会在模块路径中寻找Find.cmake,这是查找库的一个典型方式。具体查找路径依次为CMake:变量${CMAKE_MODULE_PATH}中的所有目录。如果没有,然后...
CMake和Linux编程:find_package的使用 1.第一个CMake例子 在t1 目录建立 main.c 和 CMakeLists.txt(注意文件名大小写): main.c 文件内容: //main.c #include <stdio.h> int main() { printf(“Hello World from t1 Main!n”); return 0;