【发布时间】:2020-11-17 14:50:09
【问题描述】:
无法在最新版本的 MSVC 中运行此代码。此代码示例来自 Ivor Horton 和 Peter Van Weert 的《Beginning C++20, From Novice to Professional》一书。
import <iostream>;
int main()
{
int answer {42};
std::cout << "The answer to life, universe, and everything is "
<< answer
<< std::endl;
return 0;
}
我收到此错误:找不到'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29333\include\iostream'的标头单元
我使用的是 Microsoft Visual Studio 版本 16.8.1,并在项目属性中启用了这些标志(根据此处的类似问题 Standard way of importing modules):
- /experimental:模块
- /std:c++latest
- /EHsc
- /MD
谁能帮我解决这个问题?我应该改用 Clang 还是 GCC?
【问题讨论】:
-
截至 2020 年 10 月 29 日,how to use modules in Visual Studio 上的说明仅提及
/std:c++latest。您可以在禁用其他标志后重试吗?特别是/experimental:module可能会干扰 -
仍然出现同样的错误:C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29333\include\iostream" is not an importable header
-
上述链接中 2020 年 10 月 29 日的说明似乎没有使用任何 std 库作为模块。它仍然使用
#include <iostream>