Ubuntu下使用CMakeLists.txt管理C/C++代码
- 一.CMakeLists.txt入门知识
- 1.CMakeLists.txt的编译方法
- 2.CMakeLists.txt的文件内容
- 3.编译的C文件
- 二.CMakeLists.txt进阶使用
-
一.CMakeLists.txt入门知识
CMakeLists.txt 可以管理公共代码,也可以管理独立代码,还可以将代码编译成库文件,这样就可以减少代码的重复性。以下为CMakeLists.txt的部分使用说明,资料不全但是实用。
以下为编译路径的文件详细名称
build (文件夹)
CMakeLists.txt
make_app.sh
main.c
1.CMakeLists.txt的编译方法
make_app.sh
<< BLOCK
# 在要编译的路径下创建一个建立一个CMakeLists.txt(内容空白也无所谓),然后再创建build文件夹,进入build后即可进入下一步
# 输入cmake ..后会自动生成Makefile,生成Makefile后make -j4编译即可
# 以下为编译时的命令输入
BLOCK
vi CMakeLists.txt
mkdir build
cd build
cmake ..
make -j4
2.CMakeLists.txt的文件内容
CMakeLists.txt(主CMake)
cmake_minimum_required(VERSION 3.5.1)
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_AUTOMOC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
add_definitions("-Wall -Os -fno-strict-aliasing -rdynamic -funwind-tables -ffunction-sections")
project(MY_PRO)
set(src main.c)
add_executable(my_pro ${src})
3.编译的C文件
main.c
#include <stdio.h>
int main(void)
{
printf("Hello world\n");
return 0;
}
二.CMakeLists.txt进阶使用
1.生成库文件
CMakeLists.txt
aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR} src)
# 生成库的函数 #
add_library(osc_ini ${src})
set(src main.c)
add_executable(my_pro ${src})
target_link_libraries(my_pro osc_cjson)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)