# KevinCmake **Repository Path**: feigeWang/KevinCmake ## Basic Information - **Project Name**: KevinCmake - **Description**: 用于学习C++和Cmake、QT等编译的项目 - **Primary Language**: C++ - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 4 - **Created**: 2025-07-16 - **Last Updated**: 2025-07-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Cmake 学习 参考文章: https://blog.csdn.net/o_0ava0_o/article/details/124740167 # 1、安装 - 如果安装了Qt5.14.2,就不用安装gcc 地址: `C:\Qt\Qt5.14.2\Tools\mingw730_64\bin` - 把地址加入到环境变量里面 - 再打开cmd 运行: ``` gcc -v ``` - launch.json配置相对路径: gdb程序所在路径,前面的路径就是我们配置环境变量的路径 ``` "miDebuggerPath": "gdb.exe", ``` task.json: ``` "command": "g++", //g++命令 ``` # 2、项目介绍 ## 2.1 hello_world 用VS Code的C++配置进行编译的简单项目 ## 2.1 hello_cmake 手动写的一个简单的Cmake项目 ## 2.2 cmake_qt 添加一个用QtCreator初始化的Cmake项目 ## 2.3 cmake_group 一个EXE调用一个DLL的示例 # 3、坑 - 设定路径后,要重启vscode,才可能生效。 - <> 头文件不能加.h ``` #include //不过 #include //通过 ``` 还有一种是:gcc没有这个头文件。 # 4、正则 - 搜索图片,添加别名 ``` images/(.*) images/$1 ``` - 正则替换文件头的注释 ``` 搜索: /\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*/ 替换: /** * @license MIT * @author Kevin */ ``` # Cmake笔记: - message STATUS STATUS会把信息移到最一起去输出,移到前面或者后面。 例如 ``` message(STATUS "message 1") message("message 2") message(STATUS "message 1") message("message 2") 输出: [cmake] -- message 1 [cmake] -- message 1 [cmake] message 2 [cmake] message 2 ``` # message FATAL_ERROR 弹出错误 ``` message(FATAL_ERROR "error 1") ``` ``` 输出 [cmake] -- message 1 [cmake] -- message 1 [cmake] -- Configuring incomplete, errors occurred! [cmake] See also "E:/workspace/Kevin/KevinCmake/build/CMakeFiles/CMakeOutput.log". [cmake] message 2 [cmake] message 2 [cmake] CMake Error at CMakeLists.txt:16 (message): [cmake] error 1 ``` # 子list文件 不是第一级的CmakeLists.txt可以不加项目和版本等信息 例如: ``` add_subdirectory (test_cmake_group) ```