cmake 设置 vs 的默认启动工程,不再是 ALL_BUILD
用 cmake 生成的工程默认启动的工程是 ALL_BUILD 。我们希望能指定默认启动的工程,不用每次打开 .sln 文件后再来设置。
这个在 cmake 3.6 之前是无法设置的。在 cmake 3.6 之后,通过设置 VS_STARTUP_PROJECT 属性来完成。
下面这句设置会把 HelloWorld 作为启动工程,而不是默认的 ALL_BUILD 工程。
VS_STARTUP_PROJECT 的官方说明:
执行 cmake ,生成 vs 工程,下面以生成 vs 2015 工程为例。
如果是其他 vs 版本, 则修改下面 cmake -G "Visual Studio 14 Win64" 为自己的vs版本。
双击 generate_sln.bat ,则会在 build 文件夹下生成 HelloWorld.sln 。
打开后默认启动工程如下,默认的启动工程为 HelloWorld ,不再是 ALL_BUILD 工程:
如何生成安卓源码的compile_command.json
1、cmake工程生成compile_commands.json文件比较简单,定义CMAKE_EXPORT_COMPILE_COMMANDS即可。
2、用makefile来编,没有现成的选项生成compile_commands.json文件。可以使用ctags,gtags等,但跳转不是很准确。可以通过Bear来生成,而且不需要改动代码。具体Bear的安装按照官方文档来。安装之后,执行以下命令即可生成:compile_commands.json文件能够有效提高一些工具(比如说ccls1,vscode2)的代码跳转、补全等功能。
Mac+VScode配置CMake编译HelloWorld
请自行安装
回车后就可以看到已经初始化了一个Cmake工程及其CMakeLists.txt文件+main.cpp文件。build目录只是编译产出物,可以删除后通过 mkdir build cd build cmake .. 重新生成。
F1 打开控制台。
打开终端
linuxvscode生成dll文件
1、首先在linux中新建文件夹,vscode打开。
2、其次vscode中使用快捷键ctrl+shift+p打开搜索栏,输出cmake,选择cmake:quickstart。
3、然后随便输入一个名字。
4、然后选择生成可执行文件还是链接库、
5、然后什么报错都不要管,直接点击vscode底部栏中的build选项,此时打开build文件夹,你要的文件已经出现。
6、最后对于dll可执行文件,还可以直接点击底部栏的三角形(run),直接运行。
vscode中使用cmake-tool
写CMakeList.txt并在vscode中使用cmake-tool插件完成编译调试
但偶尔会出现找不到调试目标的问题
“Failed to prepare executable target with name 'undefined'”
解决方案