cmake使用介绍

使用cmake作为C++工程的管理编译工具。如编译main.cpp文件的cmake文件如下:

cmake_minimum_required(VERSION 2.0)

project(hello)

add_executable(hellomain main.cpp)

此时可以直接在工程文件夹下添加一个build文件,之后编译上一层目录,及cmake ..,此时会生成一个makefile文件以及相关信息,此时通过make当前文件夹即可完成编译链接。

4、有的时候一个工程项目由很多文件组成,有些需要编译成可执行文件,但有些只是库文件,需要编译成库文件进行链接,假设工程中有main.cpp、hello.h、hello.cpp文件,main文件中调用hello文件中的一个函数,那么此时CMakeLists.txt文件需要写成如下形式:

cmake_minimum_required(VERSION 2.0)

project(mainhello)

add_executable(mainhello  main.cpp)

add_library(hello hello.cpp)

target_link_libraries(mainhello hello)

随后按照上面的过程编译执行即可。

5、有时需要调试C++程序,ubuntu中可以使用kdevelop的IDE实现,通过命令sudo apt-get install kdevelop即可安装,有时候安装出现问题,可能是/boot目录空间已经满了,需要删除不用的linux内核。安装完成后可以通过Open project来打开工程目录下的CMakeLists.txt文件,即可加载工程中的相关文件,之后可以通过build完成编译和Execute完成执行。对于它的调试方法是先通过菜单run->configure launch来配置执行的文件,之后就可以在C++文件中加入相应的断点,之后可以执行Debug来进行调试。


6、添加boost库,首先通过find_package获取相应的包目标,这些目录会存储在$Boost_LIBRARIES中,随后,通过target_link_libraries(thread ${Boost_LIBRARIES})添加库

find_package(Boost REQUIRED system thread timer chrono)

target_link_libraries(threads ${Boost_LIBRARIES})

猜你喜欢

转载自blog.csdn.net/fireflychh/article/details/80293204