0
import std.core;

int main()
{
    std::cout << "Hello World!\n";
}

如果我从命令行编译这段代码,使用 cl /c /O2 /D NDEBUG /D _CONSOLE /D _UNICODE /D UNICODE /EHsc /MD /std:c++latest /Gd /TP /experimental:module /ifcSearchDir "C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\VC\Tools\MSVC\14.28.29304\ifc\x64\Release" ConsoleApplication1.cpp 它可以很好地编译和链接。

如果我使用 IDE 和相同的选项编译相同的代码,输出窗口会显示此结果。

1>cl /c /O2 /D NDEBUG /D _CONSOLE /D _UNICODE /D UNICODE /EHsc /MD /std:c++latest /Gd /TP /experimental:module /ifcSearchDir "C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\VC\Tools\MSVC\14.28.29304\ifc\x64\Release" ConsoleApplication1.cpp
1>ConsoleApplication1.cpp
1>ConsoleApplication1.cpp(1): fatal error C1011: cannot locate standard module interface. Did you install the library part of the C++ modules feature in VS setup?
1>Done building project "ConsoleApplication1.vcxproj" -- FAILED.

谁能启发我这里发生了什么?我忘记了什么?

4

2 回答 2

1

我找到了一种解决方法,如果我打开开发人员命令提示符或运行 vcvarsall.bat,然后我可以使用“devenv”从命令行启动 Visual Studio,然后模块就可以工作了。我怀疑 Visual Studio 正常启动时环境设置不正确。

于 2020-10-07T17:35:29.337 回答
0

为什么它没有在我的新 2022 Visual Studio 中编译,我有一阵子想不通。

除了明显的 /experimental:module 和 /std:c++latest

您实际上必须单独安装这些模块!!!

在此处输入图像描述

于 2022-03-05T10:38:50.993 回答