IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 【C++】CMakeList.txt在命令行的使用 -> 正文阅读

[人工智能]【C++】CMakeList.txt在命令行的使用

前提:在官网下载好了cmake工具,并且配置好了环境变量。

一、?编写CMakeLists.txt

在项目的顶层目录中,建立一个CMakeLists.txt文件。以某个真实项目为例,内容如下:

cmake_minimum_required (VERSION 3.10.0)

SET(CMAKE_BUILD_TYPE "Debug")
SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb")
SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall")
#if(${OpenCV_VERSION_MAJOR} GREATER 3)
#        set(CMAKE_CXX_STANDARD 11)  
#endif()

# 项目名称
project(IR)

find_package(OpenCV REQUIRED)

# 头文件路径
include_directories(
    "${PROJECT_SOURCE_DIR}/uvc"
  "${PROJECT_SOURCE_DIR}/include"
  "${OpenCV_INCLUDE_DIRS}" 
  #"/usr/include/opencv4"
  #"/usr/include/opencv4/opencv2"
  
)


link_directories(
    "/usr/lib/aarch64-linux-gnu"
    "/usr/lib"
    "${PROJECT_SOURCE_DIR}/lib"
    #"${OpenCV_LIBS_DIRS}"
    "/usr/lib/aarch64-linux-gnu/"
)


SET(SRC_LIST 
    "${PROJECT_SOURCE_DIR}/uvc/camtrans.cpp"
    "${PROJECT_SOURCE_DIR}/uvc/ircammanager.cpp"
    "${PROJECT_SOURCE_DIR}/uvc/serialport.cpp"
    "${PROJECT_SOURCE_DIR}/uvc/v4l2core.c"
    "${PROJECT_SOURCE_DIR}/src/client_triton.cpp"
)

#------------选择编译后生成可执行文件还是动态链接库
  # add_library(
  #clienttriton SHARED
  #${SRC_LIST}
  #      $<TARGET_OBJECTS:json-utils-library>
  #)
  add_executable(
  IR
   ${SRC_LIST}
    # $<TARGET_OBJECTS:json-utils-library>
      )

SET(LK_LIB ${OpenCV_LIBS} 
)

#add_executable(TritonClient ${SRC_LIST})

target_link_libraries(IR ${LK_LIB})
target_link_libraries(IR /lib/aarch64-linux-gnu/libpthread.so.0)



二、使用cmake编译?

写好CMakeLists.txt,需要进行编译并生成可执行文件,以下是步骤,假设工程目录为work_ws/bufferevent.

首先进入build文件夹

cd work_ws/bufferevent/build

接下来生成makefile文件,..表示上一级目录,也就是CMakeLists.txt所在目录?

cmake ..

?编译makefile文件,生成可执行文件

make

三、省时省力小技巧?

?如果我们嫌每次都要删除原来生成的可执行文件,然后输入cmke..,然后再make有点繁琐,我们可以自己编写sh文件放在build文件夹下,在sh文件里输入我们要执行的相关指令。如下,是我在build文件夹下创建的make.sh文件。

#开启扩展模式匹配 否则识别不了下面的!()
shopt -s  extglob
#删除当前文件夹下除了make.sh之外的所有文件
rm -rf !(make.sh)
#生成Makefile
cmake ..
#根据Makefile生成编译生成可执行文件
make
#删除中间产生的编译文件
rm -rf CMakeFiles CMakeCache.txt cmake_install.cmake Makefile

这样,每次我只要进入工程下的build文件夹,输入?

sh make.sh

?即可编译生成可执行文件。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-04-30 08:42:53  更:2022-04-30 08:43:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 8:41:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码