在 cmake 脚本中,设置编译选项可以通过 add_compile_options 命令,也可以通过 set 命令修改 CMAKE_CXX_FLAGS 或 CMAKE_C_FLAGS 。
使用这两种方式在有的情况下效果是一样的,但请注意它们还是有区别的:
例子
也可以直接在编译的时候指定:
待补充
语法
在CMake中基础的数据形式是字符串。CMake也支持字符串列表。
列表通过分号分隔。譬如两个声明给变量VAR设同样的值:
字符串列表可以通过foreach命令迭代或直接 *** 控列表命令。
CMake 支持简单的变量可以是字符串也可以是字符串列表。变量参考使用 ${VAR} 语法。多参数可以使用 set 命令组合到一个列表中。所有其他的命令
通过空白分隔符传递命令来扩展列表,例如
像大多数语言一样,Cmake 提供了控制流结构。Cmake提供了三中控制流:
更多控制流信息参见命令 if,while,foreach,macro,function文档。
在CMake中原义字符串用双引号括起来。字符串可以是多行字符串,并在其中嵌入新的行。例如
也可以在一个字符串中转义字符和使用变量
同样支持标准C中的转义
如果字符在引号之前是空格则原义字符串只是原义字符串。但是引号必须成对,例如
cmake可以使用正则表达式
cmake project 头文件必须存在这行命令, 例如 cmake_minimum_required(VERSION 3.10)
设置项目名称 project(Tutorial)
语法
例子
语法
将指定的源文件(CPP文件)生成链接文件,然后添加到工程中去。
语法
其中 <name>表示库文件的名字,该库文件会根据命令里列出的源文件来创建。而 STATIC 、 SHARED 和 MODULE 的作用是指定生成的库文件的类型。
例子
在子文件夹添加了 library 或者 executable 之后,在上层目录添加 subdirectory , 也可以在同一个CMakeList.txt中使用
它相当于 g++ 选项中的 -I 参数的作用,也相当于环境变量中增加路径到CPLUS_INCLUDE_PATH变量的作用。
语法:
它相当于 g++ 命令的 -L 选项的作用,也相当于环境变量中增加 LD_LIBRARY_PATH 的路径的作用。
语法:
语法:
该指令的作用主要是指定要链接的库文件的路径,该指令有时候不一定需要。因为find_package和find_library指令可以得到库文件的绝对路径。不过你自己写的动态库文件放在自己新建的目录下时,可以用该指令指定该目录的路径以便工程能够找到。
语法:
link_libraries(library1 <debug | optimized>library2 ...)
可以链接一个,也可以多个,中间使用空格分隔.
语法:
语法:
简单的例子如下:
一般情况下, make install 在不指定 prefix 默认安装在`/usr/local/bin
vscode怎样编写c程序?一、获取C/C++扩展
1、打开vscode
2、ctrl+shift+x打开商店
3、搜索C/C++安装、重启vscode
e125d1ee0c8bed76453042fba8438f7.png
二、安装GCC
1、下载MinGW
2、打开安装程序,安装到D盘(需要创建MinGW文件夹),安装完成之后生成MinGW安装管理器
3、管理器自动打开(如果没有请手动),点击All Packages,选中gcc.bin,g++.bin,gdb.bin,点击Installation,选择Apply Changes,点击Apply提交进行安装
0488d5fba2514f27925f8fe6c71df09.png
win+R,输入control进入控制面板,依次点击系统与安装->系统->高级系统设置->环境变量,找到Path->编辑->新建,将安装好的MinGW的bin文件夹路径粘贴进去。
8582b4a0e711b76938b21c60cfa0d75.png
三、配置智能提示
1、编写一个测试文件demo.c,点击引入的标准库下的“提示灯”,生成c_cpp_properties.json文件
2、编辑c_cpp_properties.json
5c59ca6c91c764055b52716e1bf6b0f.png
c_cpp_properties.json修改内容如下:
e9f6e93dd74073591bdbafd0c3345ac.png
四、开启调试功能
F5或Ctrl+F5启用调试,选择C++(GDB/LLDB)生成launch.json文件,修改如下:
Ctrl+Shift+P输入Tasks:Configure Task配置任务,选择使用模块创建task.json文件,选择Others模板,生成task.json文件,修改如下:
如果出现错误:进程终止,退出代码:1,可能是gcc还没被编辑器加载(测试方法:打开控制台,输入gcc,看提示信息),重启编辑器就可以。
请自行安装
回车后就可以看到已经初始化了一个Cmake工程及其CMakeLists.txt文件+main.cpp文件。build目录只是编译产出物,可以删除后通过 mkdir build &&cd build &&cmake .. 重新生成。
F1 打开控制台。
打开终端
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)