Linux 程序工程管理---CMakeLists.txt编译C++
一般来说编译单个C++源文件只需要采用g++指令即可,但是一般工程都是包含几个,几十个乃至几百个源文件。此时,如果用g++指令一个一个去编译就会非常麻烦。所以Linux采用了make指令来根据makefile中的相关规则编译所有的源文件,在这里介绍CMakeLists.txt文件中的部分指令实现简单C++工程的编译。
1.C++ 工程的建立
一个完整的C++工程,包括bin目录(可执行文件),build(编译生成的文件)、lib(生成的链接库)、src(源文件)、include(头文件),还需要创建一个CMakeLists.txt文件用于编译整个工程。
(1).创建Study工程,并在工程目录中 依次创建上述目录:
(2). 然后在src目录中创建.cpp文件--Hello_World.cpp和main.cpp 文件;在include目录中创建.hpp文件,并写入如下程序
(3). 在CMakeList.txt 文件中写入程序
cmake_minimum_required(VERSION 2.8) #make编译最低版本 IF(NOT CMAKE_BUILD_TYPE) #设置编译类型为Debug set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) #设置工程的编译输出路径为/bin include_directories( #设置头文件目录使得系统可以找到对应的头文件 /include add_executable(hello_world src/Hello_world.cpp src/main.cpp) #选择需要编译的源文件,凡是要编译的源文件都需要列举出来 |
(4). 对工程进行编译,进入build目录。并执行cmake和make指令
此时编译完成,生成可执行文件在/bin目录当中,运行/bin目录的hello_world可执行文件,输出Hello_World。