CMakeLists使用总结

CMakeLists.txt的编写

cmake_minimum_required(VERSION 3.0)

# 本CMakeLists.txt的project名称
# 会自动创建两个变量,PROJECT_SOURCE_DIR和PROJECT_NAME
# ${PROJECT_SOURCE_DIR}:本CMakeLists.txt所在的文件夹路径
# ${PROJECT_NAME}:本CMakeLists.txt的project名称
project(Test_demo)

# 配置编译选项
add_definitions("-Wall -g")
# 指定编程语言版本
add_definitions(-std=c++11)

# 配置编译类型
set(CMAKE_CXX_FLAGS_RELEASE "-DNDEBUG -Wall -O2")

# 给文件名/路径名或其他字符串起别名,用${变量}获取变量内容
set(变量 文件名/路径/...)

# 打印消息
message(消息)

find_package(OPENCV REQUIRED opencv)

# 添加include目录 -- 头文件的搜索目录
include_directories(include)
include_directories(third_party/func_1/include)

# 编译可执行文件
add_executable(${PROJECT_NAME} src/main.cpp 
                    src/func_1.cpp
                    src/func_2.cpp
              )
target_link_libraries(${PROJECT_NAME} 
        ${OPENCV_LIBRARIES} 
        third_party/func_1/lib/lib*.so
        third_party/func_2/lib/lib*.a
        pthread
        )
# 安装
install(TARGETS ${PROJECT_NAME})

CMakeLists.txt的编译

在最顶层创建build文件夹,然后编译。即:

mkdir build && cd build
cmake ..
make

最终生成可执行文件:Test_demo
可以通过以下命令来运行该可执行文件:

./Test_demo

参考:
https://blog.csdn.net/qq_38410730/article/details/102477162

相关推荐

  1. CMakeLists使用总结

    2024-04-14 03:26:01       41 阅读
  2. CmakeLists

    2024-04-14 03:26:01       30 阅读
  3. 【CMake】顶层 CMakeList.txt 常用命令总结

    2024-04-14 03:26:01       43 阅读
  4. CMakeLists.txt 怎么写

    2024-04-14 03:26:01       45 阅读
  5. CMake:编写 CMakeLists 文件

    2024-04-14 03:26:01       39 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-14 03:26:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-14 03:26:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-14 03:26:01       82 阅读
  4. Python语言-面向对象

    2024-04-14 03:26:01       91 阅读

热门阅读

  1. 设计模式示例

    2024-04-14 03:26:01       40 阅读
  2. 机器学习算法

    2024-04-14 03:26:01       35 阅读
  3. Android沙盒机制

    2024-04-14 03:26:01       39 阅读
  4. 在 Ubuntu 系统上安装 Python 3.10.0

    2024-04-14 03:26:01       32 阅读
  5. C++:可调用对象

    2024-04-14 03:26:01       34 阅读
  6. 常用的启发式算法

    2024-04-14 03:26:01       33 阅读
  7. SQLite的PRAGMA 声明

    2024-04-14 03:26:01       34 阅读