【问题标题】:Why the modules in my project not working correctly?为什么我的项目中的模块无法正常工作?
【发布时间】:2021-05-11 12:19:16
【问题描述】:

我的设置:

我正在使用 Visual Studio 2019,而且我是 C++ 模块的新手。 这是我模块中的代码:

export module Module;
export void MyFunc();

这是.cpp文件中的代码

import Module;
myFunc()

但我不断收到错误消息:

E3344 module file mapping for 'Module' is invalid

如何解决错误?

【问题讨论】:

标签: c++ c++20 c++-modules


【解决方案1】:

文件映射可能不正确,因为模块接口文件module.ixx 必须伴随模块实现文件module.cpp。 (如果您要分离实现)

但是请记住,无论使用全新的 C++20 语言功能,VS intellisense 都可能无法按预期工作。

这需要一段时间才能正常工作,您可以尝试使用 VS 2022 并将 std:c++latest 选项设置为与智能感知保持同步。

【讨论】:

  • 很奇怪。项目构建但智能感知不起作用,并在最新的 VS 2022 中显示此错误。不幸的是。
  • 根据我的经验,当在 VS 中引入新的语言功能时,intellisense 总是落后,但随着 IDE 和编译器的继续开发,它会逐渐加起来。
  • 我放弃了。它们完全破坏了智能感知和语法着色,我正确使用它们。也许几年后它会更好。
  • 知道如果你在代码中使用新的语言结构,那么它可能会破坏整个智能感知,包括通常有效的部分。如果您依赖智能感知,一个解决方案是不使用新的语言功能。
猜你喜欢
  • 1970-01-01
  • 2021-04-03
  • 2021-08-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多