Des*_*ess 5 c++ c++20 visual-studio-2019
MSVC 2019,v16.8.1
我正在尝试开始更改一些现有代码以使用模块。我的第一次尝试是采用现有的 DLL,将所有代码移至标头中,除了一个需要 cpp 的文件,以便编译器构建 dll(不会仅使用标头构建)。
我正在尝试遵循本教程:
Cameron DaCamara 的实用 C++20 模块以及 C++ 模块工具的未来
我的第一次尝试是改变一个#import声明。在 CPP 文件中:
改变:
#include "Some/Header.hpp"
到:
import "Some/Header.hpp";
我收到此错误:
错误 C7612:找不到“...../Some/Header.hpp”的标头单元
我已经尝试了所有版本的路径Some/Header.hpp,包括绝对路径,但编译器只是给出了相同的错误。
设置中是否还有另一个步骤来指示编译器在哪里查找标头?这是一个基于 CMake 的项目。
PS 目前,这个模块功能似乎有很多问题。当我开始使用这个import关键字时,IDE 就开始崩溃。
编辑:NVM,这个功能绝对没有完全成熟。刚刚尝试将另一个文件更改为模块,它开始抱怨一些不存在的错误。当我对其指向的代码进行更改时,只是为了进行实验,我得到了以下结果:
3>DevelopVision.ixx
3>..\..\..\Source\AppletGame\DevelopVision.ixx(323,1): fatal error C1001: Internal compiler error.
3>(compiler file 'msc1.cpp', line 1584)
3> To work around this problem, try simplifying or changing the program near the locations listed above.
3>If possible please provide a repro here: https://developercommunity.visualstudio.com
3>Please choose the Technical Support command on the Visual C++
3> Help menu, or open the Technical Support help file for more information
3>INTERNAL COMPILER ERROR in 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29333\bin\HostX64\x64\CL.exe'
Run Code Online (Sandbox Code Playgroud)
再过一年左右我会尝试一下。
从 Visual Studio 2019 版本 16.10 Preview 3(2021 年 5 月 11 日发布)开始,标头单元似乎可以正常工作。
Microsoft 有一个有用的指南:演练:在 Microsoft Visual C++ 中构建和导入标头单元
| 归档时间: |
|
| 查看次数: |
2136 次 |
| 最近记录: |