当前位置:网站首页 > C++编程 > 正文

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



众所周知,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})

target_include_directories(MyTarget PUBLIC include)

前两行不变

第三行声明了一个变量SRC_DIR,并把src文件夹中的所有文件都塞了进去。

第四行表示用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}",

            "args": [],

            "stopAtEntry": false,

            "cwd": "${workspaceFolder}",

            "externalConsole": true

        }

    ]

}

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

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

到此这篇vs如何创建c语言项目(vs如何创建c++项目)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 批量修改文件名的命令(批量修改文件名cmd)2025-11-18 15:00:05
  • cnn是什么网络用语(cnn 是什么)2025-11-18 15:00:05
  • vs怎么调试cpp文件(vs运行cpp文件)2025-11-18 15:00:05
  • msvcp140d.dll丢失(MSVCP140d.dll丢失修复)2025-11-18 15:00:05
  • pcap文件是什么(tcpdump pcap文件)2025-11-18 15:00:05
  • 佳能cp1500打印机(佳能cp1500打印机多少钱)2025-11-18 15:00:05
  • 甲骨文ocm(甲骨文oci)2025-11-18 15:00:05
  • cp1200纸盒和墨盒尺寸错误(cp1300纸盒和墨盒尺寸错误)2025-11-18 15:00:05
  • usb转console线(usb转console线原理)2025-11-18 15:00:05
  • 佳能cp1500安装视频(佳能打印机5150安装视频)2025-11-18 15:00:05
  • 全屏图片