【CMake入门】第三节——构建项目并调用或生成库
2023-12-13 19:59:47
系列文章:
【CMake入门】第一节——CMake的安装与简单样例
【CMake入门】第二节——CMake常用指令介绍
构建单文件项目,调用第三方库
# CMake最低版本号要求
cmake_minimum_required(VERSION 2.8)
# 项目名称
project(demo)
# 设置编译方式
set( CMAKE_BUILD_TYPE Release)
# 支持C++11
set( CMAKE_CXX_FLAGS "-std=c++11")
# 查找系统里的OpenCV
# set(OpenCV_DIR "D:/Program Files/opencv-3.4.6/build")
find_package( OpenCV 3 REQUIRED)
# 添加项目包含路径
include_directories( ${OpenCV_INCLUDE_DIRS} )
# 用指定的源文件为工程添加可执行文件,名字为test
add_executable( test test.cpp )
# 为库或可执行文件添加库连接(必须要在add_executable后面)
target_link_libraries( test ${OpenCV_LIBS} )
构建多文件项目,同时自己生成库
# CMake最低版本号要求
cmake_minimum_required(VERSION 2.8)
# 项目名称
project(demo)
# 设置编译方式
set( CMAKE_BUILD_TYPE Release)
# 支持C++11
set( CMAKE_CXX_FLAGS "-std=c++11")
# 查找系统里的OpenCV
find_package( OpenCV 3 REQUIRED)
# 添加项目包含路径
include_directories(
${PROJECT_SOURCE_DIR}/include/ #工作空间下的include,同级目录有build、source文件夹
${OpenCV_INCLUDE_DIRS}
)
# message("PROJECT_SOURCE_DIR = " ${PROJECT_SOURCE_DIR})
# set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin)
# set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib)
# message("CMAKE_BINARY_DIR = " ${CMAKE_BINARY_DIR})
# message("CMAKE_SOURCE_DIR = " ${CMAKE_SOURCE_DIR})
# 将指定的源文件生成链接库文件。STATIC为静态链接库,SHARED为共享链接库
# 这个test.cpp是自己写的,里头有一堆函数,就是没有主函数。我们现在想让这个cpp文件变成一个库,方便我们调用里头的函数
add_library(lib_test ${PROJECT_SOURCE_DIR}/source/test.cpp)
# 为上面自己生成的库或可执行文件添加库连接
target_link_libraries( lib_test
${OpenCV_LIBS}
)
# 用指定的源文件为工程添加可执行文件,名字为test
add_executable( ${PROJECT_NAME} ${PROJECT_SOURCE_DIR}/testBed/main.cpp )
# 为库或可执行文件添加库连接(必须要在add_executable后面)
# 因为我们主函数调用了我们自己生成的库里头的函数,所以我们在这里同时添加了lib_test这个库的链接
target_link_libraries( ${PROJECT_NAME}
${OpenCV_LIBS}
lib_test
)
文章来源:https://blog.csdn.net/PuddleRubbish/article/details/134843292
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!