使用Visual Studio搭建C++20开发环境

简单两步使用Visual Studio完成C++20工程的配置

0 准备工作

0.1 VS中安装C++ 模块

  1. 找到 Visual Studio Install,点击 修改;
  2. 在弹出的界面上找到 单个组件,搜索 C++ 模块;
  3. 勾选 适用于……生成工具的C++模块,并点击 修改 完成C++模块的安装。
    VSInstall点击修改
    安装C++ 模块

0.2 创建一个空项目

后续放一个链接

0.3 导入文件

  1. 工程文件(main.cpp math.cppm)可以在以下任意链接里找到:
    Gitee仓库 fstartsea-gitee-public-codes
    百度网盘 提取码:7980
    CSDN资源下载
  2. 将工程文件放入到项目路径下,并将其导入到工程中。
    工程文件
    导入现有文件

1 工程配置

1.1 打开工程属性页

打开属性页

1.2 设置模块依赖

  1. 在弹出的属性页左侧找到 C/C++ 并点击C/C++左侧的下拉按钮;
  2. 在下拉选项中找到 常规 选项并点击;
  3. 常规 选项界面找到 扫描源以查找模块依赖关系,并将其设置为
    设置模块依赖

1.3 设置语言标准

  1. C/C++ 选项中找到 语言 选项卡,并点击;
  2. 语言 选项界面设置C++语言标准为 C++20;
  3. 启用实验性的C++标准库模块 选择 是 (/experimental:module)
  4. 点击属性页的 确认 按钮完成配置。
    设置语言标准

2 可能出现的问题

2.1 找不到“iostream” “format”的标头单位

未安装0.1中介绍的C++ 模块。安装 C++ 模块重新创建工程(将模块引入到工程中来)即可。
未安装C++ 模块报错

3 项目代码

3.1 math.ixx

//本实例中的代码摘抄自 Beginning C++20: From Novice to Professional, Sixth Editon
//章节11.1.1
export module math;

export auto square(const auto& x) {
	return x * x;
}

export const double lambda{ 1.303577269034296391257 };

export enum class Oddity {
	Even,
	Odd
};

bool isOdd(int x) {
	return x % 2 != 0;
}

export auto getOddity(int x) {
	return isOdd(x) ? Oddity::Odd : Oddity::Even;
}

3.2 main.cpp

//本实例中的代码摘抄自 Beginning C++20: From Novice to Professional, Sixth Editon
//章节11.1.1
import <iostream>;
import <format>;
import math;

int main(int argc, char* argv[]) {
	std::cout << "Lambda squared: " << square(lambda) << std::endl;

	int number{};
	std::cout << "\nPlease enter an odd number: ";
	std::cin >> number;
	std::cout << std::endl;

	//if (isOdd(number)) /*Error: indentifier not found: 'isOdd'*/
	//	std::cout << "Well done!" << std::endl;

	switch (getOddity(number)) {
		using enum Oddity;
	case Odd:
		std::cout << "Well done! And rember: you have to be odd to be number one!\n";
		break;
	case Even:
		std::cout << std::format("Odd, {} seems to be even?\n", number);
		break;
	default:
		break;
	}

	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fstarSea

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值