CMakeList.txt文件 工程实例解析

// 指定需要的最小的camke版本
cmake_minimum_required(VERSION 2.8)
project(demo) # project(demo)[]指定工程支持的语言,如果忽略表示支持所有的语言

//设置C++编译模式
//Release和Debug之间的区别:
// Release: -O3 -DNDEBUG
// Debug: -g
set(CMAKE_BUILD_TYPE Release)

// 设置C++编译参数(CMKE_CXX_FLAGS是全局变量)
set(CMAKE_CXX_FLAGS “${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Ofast -Wfatal-errors”)

//在当前目录下存在子目录时使用,子目录中需要含有CMakeLists.txt文件
add_subdirectory(KaTeX parse error: Expected '}', got 'EOF' at end of input: …e_directories({CMAKE_CURRENT_SOURCE_DIR}/…/code)

// 包的名称以及最低版本 没写就是对版本号不做限制
FIND_PACKAGE(OpenCV REQUIRED)
// 指定include路径src才能正确定位头文件
include_directories( O p e n C V I N C L U D E D I R S ) / / 指 定 链 接 器 查 找 库 路 径 l i n k d i r e c t o r i e s ( {OpenCV_INCLUDE_DIRS}) // 指定链接器查找库路径 link_directories( OpenCVINCLUDEDIRS)//linkdirectories({OpenCV_LIBRARIES_DIRS})

// 引入一个名为可执行目标,该目标会由调用该命令时在源文件列表中指的的源文件来构建,对应于逻辑目标的名字在工程范围内必须是全局唯一的
//可执行文件由哪些.o文件来生成
add_executable(CLASSIFER evalClassifNet.cpp eval.cpp dataReader.cpp)

链接库,把生成的classifer TrtNet库和OPenCV LIBS链接起来

target_link_libraries(classifer TrtNet ${OpenCV_LIBS})

// 要生成的可执行文件名 从工程目录下写起的主函数文件名
// 可执行文件生成,凡是要编译的源文件都要列出来
add_executable(runNet runNet.cpp)
// 天剑可执行文件所需的库(一般是刚刚生成的库)
target_link_libraries(runNet TrtNet ${OpenCV_LIBS})

//build runTwoNets
add_executable(runTwoNets runTwoNets.cpp)
target_link_libraries(runTwoNets TrtNet ${OpenCV_LIBS})

// install 指定可执行文件安装的路径
install(TARGETS classifer DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/install/)
install(TARGETS runNet DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/install/)
install(TARGETS runTwoNets DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/install/)

注: 注释符号本是# 但是为了格式好看换成 //

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值