ImageLoader.cpp//错误:"SafeReleaseM"的E3344模块文件映射无效
import SafeReleaseM;
import <wincodec.h>;
import <d2d1.h>;
class ImageLoader{};
SafeReleaseM.ixx
export module SafeReleaseM;
export template <class T> void SafeRelease(T** type)
{
if (*type)
{
(*type)->Release();
*type = NULL;
}
}
我已经将标准设置为最新的C++标准和C标准,将我的源文件夹添加到模块依赖目录中,启用了模块扫描。
在我看来,这是一个非常基本的模块测试,我做错了什么吗?我是S.O的新手,所以如果我应该添加其他设置信息,请告诉我。
编辑:我正在使用Visual Studio 2022社区(msvc(
编辑#2:在一个单独的项目中,类似的方法可以导出模板函数。也许我的项目配置有问题。
创建一个新项目并在中粘贴相同的代码。
不确定是什么导致了Visual Studio文件映射问题,但我所做的不同之处在于,在一个新项目中,我通过解决方案资源管理器窗口创建了文件。-错误可能与依赖项/配置有关。或由更新引起。
以下程序对我有效。
- 退出Visual Studio
- 删除项目目录中的x64目录
- 启动Visual Studio
- 重新加载解决方案并生成
- 错误对我来说消失了