Matlab 找不到.exp

Matlab 找不到.exp,matlab,mex,Matlab,Mex,一段时间以来,我一直在用自己的CUDA函数编译一些mex文件。我有nvcc的设置和一切编译,并运行没有问题 但在编译时, mex -largeArrayDims ./Source/Atb.cpp ./Source/voxel_backprojection.cu ./Source/voxel_backprojection2.cu -outdir ./Mex_files 在成功编译之后,我总是收到以下消息 Building with 'NVIDIA CUDA Compiler'. Could N

一段时间以来,我一直在用自己的CUDA函数编译一些mex文件。我有nvcc的设置和一切编译,并运行没有问题

但在编译时,

 mex -largeArrayDims ./Source/Atb.cpp ./Source/voxel_backprojection.cu ./Source/voxel_backprojection2.cu -outdir ./Mex_files
在成功编译之后,我总是收到以下消息

Building with 'NVIDIA CUDA Compiler'.
Could Not Find C:\CUDA_MATLABtests\MyToolbox\Mex_files\Atb.exp

Could Not Find C:\CUDA_MATLABtests\MyToolbox\Mex_files\Atb.exp
如果代码似乎工作正常,为什么会收到这些消息

我应该买吗?如果是,我应该手动创建它们吗?如何创建?

在Visual Studio中,会创建一个,以便其他人可以链接到您的库

对于典型的mex文件,没有人会对其进行链接,因此不需要.exp文件。这就是为什么您的mex文件运行良好,尽管MATLAB发出了此警告。它们在mex文件环境中的无用性进一步得到了验证,因为MATLAB在清理过程中试图自己删除它们

del PATH/Atb.pbj PATH/Atb.exp PATH/atb.manufest
由于VisualStudio在默认情况下生成这些文件,因此我认为在编译代码后,它们应该存在于您的计算机上的某个位置。事实上,可能是MATLAB的mex配置没有正确处理,它们最终会出现在输出目录之外的其他地方

我目前没有VisualStudio,但您可能可以在本地计算机上搜索该.exp文件,以验证该文件是否确实已创建,以及是否放置在MATLAB不期望的位置。如果是这样的话,你可以调整你的mexopts来处理这个问题

也就是说,此警告对典型的mex文件无害,可以安全地忽略

在VisualStudio中,将创建一个库,以便其他人可以链接到您的库

对于典型的mex文件,没有人会对其进行链接,因此不需要.exp文件。这就是为什么您的mex文件运行良好,尽管MATLAB发出了此警告。它们在mex文件环境中的无用性进一步得到了验证,因为MATLAB在清理过程中试图自己删除它们

del PATH/Atb.pbj PATH/Atb.exp PATH/atb.manufest
由于VisualStudio在默认情况下生成这些文件,因此我认为在编译代码后,它们应该存在于您的计算机上的某个位置。事实上,可能是MATLAB的mex配置没有正确处理,它们最终会出现在输出目录之外的其他地方

我目前没有VisualStudio,但您可能可以在本地计算机上搜索该.exp文件,以验证该文件是否确实已创建,以及是否放置在MATLAB不期望的位置。如果是这样的话,你可以调整你的mexopts来处理这个问题

也就是说,此警告对典型的mex文件无害,可以安全地忽略


可以插入-v并重试吗?我想您会看到另一条消息,文件无法写入。@Daniel不,它不在那里。没有该类型的错误/警告。当编译器运行del PATH/Atb.pbj PATH/Atb.exp PATH/Atb.manufest和其他一些程序时,注释似乎会出现。然后写入.exp not found行。但是,一切正常,代码运行平稳。我甚至在谷歌上找不到.exp格式的文件;我想您可以创建一个空白的.exp文件,看看如果它抛出不同的异常,运行时会发生什么。所以我会说这是无害的。可以插入-v并重试吗?我想您会看到另一条消息,文件无法写入。@Daniel不,它不在那里。没有该类型的错误/警告。当编译器运行del PATH/Atb.pbj PATH/Atb.exp PATH/Atb.manufest和其他一些程序时,注释似乎会出现。然后写入.exp not found行。但是,一切正常,代码运行平稳。我甚至在谷歌上找不到.exp格式的文件;我想您可以创建一个空白的.exp文件,看看如果它抛出不同的异常,运行时会发生什么。所以我会说这是无害的。