代码改变世界

CMake基本语法

  jiayayao  阅读(433)  评论(0编辑  收藏  举报
  1. CMake和autotools是makefile的上层工具,它们的目的正是为了产生可移植的makefile,并简化自己动手写makefile时的巨大工作量;
  2. cmake可以生成跨平台的编译配置文件,包括windows和mac;
  3. 建议统一使用外部编译,即新建build文件夹,不对原有工程有任何文件改动、新增或删减文件等;
  4. 隐式声明的两个变量:PROJECT_SOURCE_DIR源码目录和PROJECT_BINARY_DIR编译目录
  5. 自定义变量:SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/BIN)
  6. 编译动态库ADD_LIBRARY(hello SHARED $(LIBHELLO_SRC}),静态库是STATIC;
  7. 如何给编译好的动态库加版本号?
  8. 如何通过SET_TARGET_PROPERTIES同时构建同名的动态库和静态库;
  9. 添加头文件目录INCLUDE_DIRECTORIES(directory1 directory2 ...)
  10. TARGET_LINK_LIBRARIES(main libhello.a),编译main的target需要链接的静态库;
  11. 如何打印输出信息MESSAGE(STATUS "Home dir:$ENV{HOME}");
  12. 向C++编译器添加-D定义:ADD_DEFINITIONS(-DENABLE_DEBUG);
  13. FILE指令可以进行文件操作;
  14. IF WHILE FOREACH等语句的使用
编辑推荐:
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 【非技术】说说2024年我都干了些啥
点击右上角即可分享
微信分享提示

喜欢请打赏

扫描二维码打赏

支付宝打赏