linux下cmake的使用
- 总体
- 测试代码
cmake是一个项目构建工具,帮助编译代码,生成可执行文件。
源代码到可执行文件需要经历的步骤:
总体
要使用cmake来编译项目,最重要的就是CmakeLists.txt文件的编写:
①不用链接其它库
CmakeLists.txt:
cmake_minimum_required(VERSION 3.0.2)
project(test)
include_directories(include src)
add_executable(test main.cpp src/add.cpp src/jian.cpp)
项目结构:
include中包含一个头文件,src中包含add.cpp、jian.cpp。build是自己建的空白文件夹。
编译流程:
终端进入build文件目录下,运行:
cmake ..
此时在build目录下就会生成一系列文件。
再运行:
make
此时就会在build目录下生成可执行文件。
最后:
./可执行文件
代码就运行起来了
②链接其它库
只需要改变CmakeLists.txt文件即可。
CmakeLists.txt:
cmake_minimum_required(VERSION 3.0.2)
project(test)
include_directories(include src)
add_library(spi_lib
src/add.cpp src/jian.cpp
)
add_executable(test main.cpp)
target_link_libraries(test spi_lib)
这里链接的库是spi_lib。
测试代码
add.cpp:
#include <stdio.h>
#include "calc.h"
int add(int a,int b)
{
int sum = a+b;
return sum;
}
jian.cpp:
#include <stdio.h>
#include "calc.h"
int jian(int a,int b)
{
int sum = a-b;
return sum;
}
calc.h:
#pragma once
int add(int a, int b);
int jian(int a, int b);
main.cpp:
#include <stdio.h>
#include "calc.h"
int main(int argc, char *argv[])
{
int sum,ji;
printf("shabi\r\n");
sum = add(10,1);
ji= jian(10,1);
printf("sum = %d",sum);
return 0;
}