2025年vs如何创建c语言项目(vs如何创建c++项目)

vs如何创建c语言项目(vs如何创建c++项目)众所周知 VSCode 是一款非常优秀的 IDE 划掉 文本编辑器 很多人对它好看的皮肤和图标垂涎三尺 却因它麻烦的配置望而却步 今天 binary song 就手把手教大家如何用 VSCode 代替 Visual Studio 写 Windows 上的 C 程序 看着自己被亲弟弟 ntr 不是 3 CMake 让人又恨又恨的构建系统工程生成器 下载地址 https cmake

大家好,我是讯享网,很高兴认识大家。



众所周知,VSCode是一款非常优秀的 IDE(划掉) 文本编辑器。很多人对它好看的皮肤和图标垂涎三尺,却因它麻烦的配置望而却步。今天,binary_song就手把手教大家如何用 VSCode 代替 Visual Studio 写 Windows 上的 C++ 程序。

看着自己被亲弟弟ntr(不是)

下载地址:https://cmake.org/download/ 选择.msi文件下载。

因为某种大家都知道的原因,CMake的下载慢得出奇。在你下载的时候,不妨了解一下 C/C++工程的构建过程,这也是我们今天的理论基础。(如果你是一个被VS惯坏的小白,不知道这些没关系,但现在用VSCode,就先得跳出舒适圈啦)

gcc helloworld.c -o helloworld 即可。可是一个真实的项目不可能只有一个.c文件,它一定有好多.c和.h文件,这时再直接调用编译器就十分麻烦。我们可能想要指定一个文件夹的全部文件都是源文件(.c .cpp文件),另一个文件夹的全部文件都是头文件(.h文件)。很可惜,尽管这很简单,但我们的编译器一般不提供这种功能,它由构建系统提供。

构建系统还有其他功能,如处理依赖关系、自动测试、持续集成等等,但今天我们简单的工程用不到。

所以梳理一下,CMake只是一个工程文件生成器,光有他还不够,还要有MSBuild构建系统和MSVC编译器才能真正编译好一个C++工程。


然后我们新建一个文件夹MyProject,拖到VSCode图标上,用VSCode打开这个文件夹。

我们先要安装2-3个拓展:

接下来快捷键ctrl+shift+p,打开指令面板。输入CMake:Quick Start,回车选择它。

然后我们要选择我们的toolset,所谓toolset,就是我们的编译器和构建系统这些工具集。CMake会自动扫描,如果你的Visual Studio安装妥当,应该至少有下面这些。

我们选amd64即可,之后等待CMake Tools 一顿操作,如果提示找不到CMakeLists.txt,就点击生成新的CMake项目。然后输入项目名称MyProject,项目类别选可执行文件。

如果CMake想要配置intellisense也点击允许。

我们直接点下方▶按钮,运行它的默认工程(运行前会自动生成)。不出意外,应该会在屏幕中输出Hello,world!。

接下来我们看看CMakeTools 的界面。

你可能会好奇,为什么左侧有那么多“实用工具”。其实,它们是测试用的,我们暂时不需要它们。我们现在打开根目录中的CMakeLists.txt。

这是告诉CMake如何生成工程文件的。那么显然,修改完它,要重新生成一遍工程文件(称为Configure),然后再根据这个新工程文件进行Build。要不然改了等于白改。

我们只留下3行,其他删掉。

cmake_minimum_required(VERSION 3.0.0)

project(MyProject VERSION 0.1.0)

add_executable(MyProject main.cpp)

第一行是CMake特色,用它还得把它版本号加上。有点莫名其妙,但不写不行(不用改它)。

第二行是声明一个工程,取名MyProject,版本号设为0.1.0。之前说了,一个工程里有一个或多个二进制target。

第三行就是声明一个target,添加到MyProject工程中。target的类型是可执行文件,用main.cpp编译而成。

然后,我们根据修改后的CMakeLists.txt生成VS工程文件。点击左上角的Configure按钮。

一点击,target列表就少了好多。再运行一下(下方▶按钮),应该还是输出Hello, world!。

接下来,我们让工程变得复杂一些,我们想建立一个src文件夹,里面放源文件;再建立一个include文件夹,里面放头文件,用这些文件编译成一个可执行文件。就和我们在VS里干的差不多。

目录结构:


讯享网

sayhi.h

#ifndef SAYHI_H

#define SAYHI_H

void sayHi();

#endif

sayhi.cpp

#include “sayhi.h”

#include <cstdio>

void sayHi() {

    printf(“Hi”);

}

main.cpp

#include <iostream>

#include “sayhi.h”

int main(int, char) {

    sayHi();

}

 我们再次修改CMakeLists.txt。

cmake_minimum_required(VERSION 3.0.0)

project(MyProject VERSION 0.1.0)

aux_source_directory(src SRC_DIR)

add_executable(MyTarget \({SRC_DIR})</p><p>target_include_directories(MyTarget PUBLIC include)</p><p><br/></p></blockquote><p>前两行不变</p><p>第三行声明了一个变量SRC_DIR,并把src文件夹中的所有文件都塞了进去。</p><p>第四行表示用SRC_DIR里的文件编译可执行文件MyTarget(为了区分,我悄悄把名字改了,之前叫MyProject)。注意这个\){},他表示SRC_DIR不是一个源文件的名字,而是一个变量的名字。

第五行指定MyTarget的包含目录为include文件夹。这样你在#include头文件时,就不需要把完整路径写上了。中间的PUBLIC表示这个包含目录不仅被MyTarget内部使用,而且可以作为对外接口。(如果只能内部使用,则设为PRIVATE,如果只做外部接口(有点奇怪的设定?),则设为INTERFACE。如果不想管那么多,就写成PUBLIC吧。)

一切就绪,我们点击左上角的Configure按钮(见前图)。再点击运行!不出意外的话,应该输出“Hi”。

注意:每当你添加、删除源文件时,都要点一下Configure。这样才能让CMake更新SRC_DIR变量,从而获取改变后的文件。

因为某些神秘的原因,我们直接点击调试🐞按钮无法看见输出,也找不到地方输入,但断点和监视还是起作用的。

这个问题可能会让很多小白抓狂(没错,说的就是我自己)。原因可能是VSCode不支持截获Visual C++应用的输入输出?但不管怎么样,使用外部控制台(external console)即可解决这个问题。

我们在.vscode文件夹中新建一个launch.json,输入以下内容

    “version”: “0.2.0”,

    “configurations”: [

        {

            “name”: “调试本工程”,

            “type”: “cppvsdbg”,

            “request”: “launch”,

            “program”: “\({command:cmake.launchTargetPath}&#34;,</p><p>            &#34;args&#34;: [],</p><p>            &#34;stopAtEntry&#34;: false,</p><p>            &#34;cwd&#34;: &#34;\){workspaceFolder}”,

            “externalConsole”: true

        }

    ]

}

按F5或点击左下角“调试本工程”,就可以快乐的调试啦。

如果本文帮到你的话,请点个赞投个币吧~

小讯
上一篇 2025-05-01 12:54
下一篇 2025-05-17 15:25

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/159584.html