cmake用cotire设置gcc的预编译头
![图片[1]就去ID网cmake用cotire设置gcc的预编译头_lishaoyu的专栏-CSDN博客就去ID网97ID网](https://v4.97id.com/wp-content/uploads/2021/11/3bee5ddf5f16b7d3687c9cc9ce248212.png)
lishaoyu
2015-08-02 12:19:45
![图片[2]就去ID网cmake用cotire设置gcc的预编译头_lishaoyu的专栏-CSDN博客就去ID网97ID网](https://v4.97id.com/wp-content/uploads/2021/11/8641dfdb0ca157cac9ce789182fe77a1.png)
2294
![图片[3]就去ID网cmake用cotire设置gcc的预编译头_lishaoyu的专栏-CSDN博客就去ID网97ID网](https://v4.97id.com/wp-content/uploads/2021/11/3e7c8f7db9a8bbfcaf5f35d2673ef659.png)
收藏
1
分类专栏:
技术文章
15 篇文章
0 订阅
一、预编译头
当工程大了,单机编译速度会很慢。预编译头会提高很大的速度。相关原理这里不赘述,网上很多。(或者老夫有空的时候再补充)
二、cmake设置gcc的预编译头
一开始google到一个国内同行写的cmake宏,用了下,貌似不是很好用。另外作者也表示还是有bug。
后来找到cotire。目前使用良好。
三、cotire(compile time reducer)
项目地址https://github.com/sakra/cotire。具体使用方式github里对应项目主页已经写的很清楚了(主页man看不明白的可以去看他的src里那个例子),这里只做下快捷备忘。
步骤:
1. clone这个git。
2. 将cotire里的CMake/cotire.cmake拷到咱们自己工程的顶层CMakeLists.txt同级目录下。
3. 往这个顶层CMakeLists.txt里设置一个变量并include:
set (CMAKE_MODULE_PATH “${CMAKE_SOURCE_DIR}/CMake”)
include(cotire)
4. 在具体的CMakeLists.txt的add_executable后边再cotire下,如:
add_executable(MyExecutable ${MyExecutableSources}) target_link_libraries(MyExecutable ${MyExecutableLibraries}) cotire(MyExecutable)
5. 上边是自动寻找预编译头,也可以自己设置,例如我们从vc跨平台过来的项目,显示设置stdafx.h,只用在cotire前边设置下即可:
set_target_properties(MyExecutable PROPERTIES COTIRE_CXX_PREFIX_HEADER_INIT “stdafx.h”) cotire(MyExecutable)
显示推荐内容

![[原创]让你的Android Studio能够对任意进程进行源码级native debug-Android安全-看雪论坛-安全社区|安全招聘|bbs.pediy.com就去ID网97ID网](https://97id.com/wp-content/uploads/2021/11/08a65e3e8bf430f45a22527554bf5567.png)


请登录后查看评论内容