随笔分类 -  Cmake

linux下解决c语言undefined reference to 'sin', 'cos'等数学库函数
摘要:#include <stdio.h> #include <stdlib.h> #include <math.h> #define PI 3.1415926 #define EARTH_RADIUS 6371393 double deg_to_rad(double deg) { return deg 阅读全文
posted @ 2021-08-26 18:01 只争朝夕,不负韶华! 阅读(6521) 评论(0) 推荐(1)
CMake编译时支持GDB调试
摘要:在linux环境下通过设置编译选项CXXFLAGS使程序可以支持GDB调试,在CMake构建的工程中也可以方便的实现。 对于C++: 在CMakeLists.txt文件中添加如下语句: SET(CMAKE_BUILD_TYPE "Debug") SET(CMAKE_CXX_FLAGS_DEBUG " 阅读全文
posted @ 2021-08-26 15:50 只争朝夕,不负韶华! 阅读(2108) 评论(0) 推荐(1)
Cmake Practice 总结 复杂例子
摘要:本章我们将着重介绍系统预定义的 find 模块的使用以及自己编写 find 模块,系统中提供了其他各种模块,一般情况需要使用 include 指令显式的调用,find_package 指令是一个特例,可以直接调用预定义的模块。 其实使用纯粹依靠 cmake 本身提供的基本指令来管理工程是一件非常复杂 阅读全文
posted @ 2021-07-20 04:31 只争朝夕,不负韶华! 阅读(180) 评论(0) 推荐(0)
Cmake Practice 总结 常用指令
摘要:基本指令 add_definitions 向 C/C++ 编译器添加 -D 定义,比如: add_definitions(-DENABLE_DEBUG -DABC),参数之间用空格分割。 如果你的代码中定义了 #ifdef ENABLE_DEBUG ... #endif 这个代码块就会生效。 如果要 阅读全文
posted @ 2021-07-20 01:47 只争朝夕,不负韶华! 阅读(174) 评论(0) 推荐(0)
Cmake Practice 总结 常用变量和常用环境变量
摘要:cmake 变量引用的方式: 前面我们已经提到了,使用$进行变量的引用。在 IF 等语句中,是直接使用变量名而不通过$取值 cmake 自定义变量的方式: 主要有隐式定义和显式定义两种,前面举了一个隐式定义的例子,就是 project 指令,他会隐式的定义projectname_BINARY_DIR 阅读全文
posted @ 2021-07-19 23:18 只争朝夕,不负韶华! 阅读(148) 评论(0) 推荐(0)
Cmake Practice 总结 Static And Dynamic Libraries
摘要:本节的任务: 建立一个静态库和动态库,提供 HelloFunc 函数供其他程序编程使用,HelloFunc 向终端输出 Hello World 字符串。 安装头文件与共享库。 准备工作: 在/home/xiao/cmake_practice 目录建立 t3 目录,用于存放本节涉及到的工程。 建立共享 阅读全文
posted @ 2021-07-19 17:48 只争朝夕,不负韶华! 阅读(230) 评论(0) 推荐(0)
Cmake Practice 总结 Project
摘要:所有的构建我们都将采用out-of-source外部构建,约定的构建目录是工程目录下的build自录。 本小节的任务是让前面的Hello World更像一个工程,我们需要作的是: 为工程添加一个子目录src,用来放置工程源代码; 添加一个子目录doc,用来放置这个工程的文档hello.txt 在工程 阅读全文
posted @ 2021-07-17 06:14 只争朝夕,不负韶华! 阅读(258) 评论(0) 推荐(0)
Cmake Practice 总结 Basics
摘要:安装 cmake 参考链接: https://www.cnblogs.com/6b7b5fc3/p/12715954.html 安装命令 sudo apt install cmake 初试 cmake 准备工作 建立一个 cmake_practice 目录 mkdir -p ~/cmake_prac 阅读全文
posted @ 2021-07-15 15:47 只争朝夕,不负韶华! 阅读(112) 评论(0) 推荐(0)
cmake 笔记 关于 private,interface,public
摘要:target_include_directories(hello_library PUBLIC ${PROJECT_SOURCE_DIR}/include ) target_link_libraries( hello_binary PRIVATE hello_library ) PRIVATE - 阅读全文
posted @ 2021-07-14 02:23 只争朝夕,不负韶华! 阅读(1860) 评论(1) 推荐(0)