![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
CMake
hp_cpp
这个作者很懒,什么都没留下…
展开
-
CMake中函数参数问题
CMake中function函数的定义:function(<name> [arg1 [arg2 [arg3 ...]]]) COMMAND1(ARGS ...) # 命令语句 COMMAND2(ARGS ...) ...function()函数就是使用变量,在命令中途可以对改变量进行修改例一:cmake_minimum_required(VERSION 3.5)set(var "ABC")function(Foo arg) message原创 2020-12-04 10:01:43 · 2349 阅读 · 0 评论 -
cmake中宏中set参数的问题解惑
先看一下关键字:cmake的宏是MACRO,用法:macro(<name> [arg1 [arg2 [arg3 ...]]]) COMMAND1(ARGS ...) # 命令语句 COMMAND2(ARGS ...) ...endmacro()定义一个名称为name的宏(函数),arg1...是传入的参数。我们除了可以用${arg1}来引用变量以外,系统为我们提供了一些特殊的变量:变量说明argv##是一个下标,0指向第一个参数,原创 2020-12-03 21:26:46 · 1286 阅读 · 0 评论 -
CMake 在Linux上使用动态库和静态库
上一篇我们生成了动态库和静态库,这一篇我们要将他们使用起来。目录结构:将上一篇生成的libhello.so放到dynamic目录中,libhello_static.a放到static目录中,build空目录是将来生成文件存放的目录。一、使用动态库hello.h文件中:#ifndef HELLO_H#define HELLO_H#include <iostream>void HelloFunc();#endifmain.cpp#include "hello.h"i原创 2020-11-30 20:52:47 · 5892 阅读 · 0 评论 -
CMake 在Linux上编译生成动态库和静态库
目录结构:仍然是建立一个空的目录build目录,以便让cmake生成的那些文件存放在这个目录中。hello.h#ifndef HELLO_H#define HELLO_H#include <iostream>void HelloFunc();#endifhello.cpp#include "hello.h"void HelloFunc(){ std::cout << "Hello My Linux !" << std::endl;}原创 2020-11-30 19:56:01 · 2114 阅读 · 0 评论 -
CMake 多个源文件,多个目录(二)
目录结构:一共有3个CMakeLists.txt一个顶级CMakeLists.txt,放在当前工程的根目录下:# CMake 最低版本号要求cmake_minimum_required(VERSION 3.5)# 设置工程名project (hello_cmake)aux_source_directory(. DIR_SRCS)# 添加头文件路径include_directories("${PROJECT_SOURCE_DIR}/hello")include_directorie原创 2020-11-30 18:01:45 · 1482 阅读 · 0 评论 -
CMake 多个源文件,多个目录(一)
目录结构:hello.h#ifndef HELLO_H#define HELLO_H#include <iostream>void hello();#endifhello.cpp#include "hello.h"void hello(){ std::cout << "Hello " << std::endl;}world.h#ifndef WORLD_H#define WORLD_H#include <iostrea原创 2020-11-30 17:24:33 · 5772 阅读 · 2 评论 -
CMake 入门学习1 Hello World(转)
CMake 入门学习1 Hello World分享一次学习cmake基础的过程CMake 入门2/5:第一个程序 helloworldCmake知识----编写CMakeLists.txt文件编译C/C++程序转载 2020-11-24 20:18:28 · 254 阅读 · 0 评论 -
CMake 同一目录,多个源文件
include_directoriesinclude_directories([AFTER|BEFORE] [SYSTEM] dir1 [dir2 ...])它相当于g++选项中的-I参数的作用,也相当于环境变量中增加路径到CPLUS_INCLUDE_PATH变量的作用,这样在使用该头文件的地方,只需要#include "xx.h"就可以,不需要再添加相对路径。aux_source_directory在目录中查找所有源文件aux_source_directory(<dir> <原创 2020-11-30 15:59:09 · 1431 阅读 · 0 评论 -
CMake PROJECT_BINARY_DIR和PROJECT_SOURCE_DIR的理解
官方的解释:PROJECT_BINARY_DIRcontains the full path to the top level directory of your build treePROJECT_SOURCE_DIRcontains the full path to the root of your project source directory,i.e. to the nearest directory where CMakeLists.txt contains thePROJEC原创 2020-11-30 11:51:58 · 8489 阅读 · 1 评论 -
CMake之message()函数的使用和打印变量值
message :为用户显示一条消息message( [STATUS|WARNING|AUTHOR_WARNING|FATAL_ERROR|SEND_ERROR] "message to display" ...)可以用下述可选的关键字指定消息的类型:(无) = 重要消息; STATUS = 非重要消息; WARNING = CMake 警告, 会继续执行; AUTHOR_WARNING = CMake 警告 (dev), 会继续执行; SEND_ERROR = CMake 错误, 继续原创 2020-11-30 11:07:19 · 31648 阅读 · 0 评论