简单两步使用Visual Studio完成C++20工程的配置
0 准备工作
0.1 VS中安装C++ 模块
- 找到
Visual Studio Install,点击修改; - 在弹出的界面上找到
单个组件,搜索C++ 模块; - 勾选
适用于……生成工具的C++模块,并点击修改完成C++模块的安装。


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


1 工程配置
1.1 打开工程属性页

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

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

2 可能出现的问题
2.1 找不到“iostream” “format”的标头单位
未安装0.1中介绍的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;
}

2万+

被折叠的 条评论
为什么被折叠?



