找不到 .exp
Could not find .exp
一段时间以来,我一直在用自己的 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 中,创建了一个 export (.exp
) file,以便其他人可以 link 攻击您的图书馆。
对于典型的 mex 文件,没有人会 link 反对它,因此 .exp
文件不是必需的。这就是为什么尽管 MATLAB 发出此警告,您的 mex 文件仍能正常运行。它们在 mex 文件上下文中的无用性通过 MATLAB 尝试在清理过程中自行删除它们这一事实得到进一步验证。
del PATH/Atb.pbj PATH/Atb.exp PATH/atb.manufest
因为 Visual Studio 默认生成这些文件(而且 doesn't seem to be a good way to disable this behavior), I believe that they should exist somewhere on your machine after your code is compiled. It may actually be that MATLAB's mex
configuration doesn't properly handle where to place these files 它们最终位于输出目录以外的其他地方。
我目前没有 Visual Studio,但您可以在本地机器上搜索 .exp
文件,以验证它确实已创建并且只是放置在 MATLAB 所在的某个地方'不期待。如果是这种情况,您可能可以调整 mexopts
来处理这个问题。
也就是说,此警告对您的典型 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 Not Find C:\CUDA_MATLABtests\MyToolbox\Mex_files\Atb.exp
Could Not Find C:\CUDA_MATLABtests\MyToolbox\Mex_files\Atb.exp
如果代码似乎正常工作,为什么我会收到此消息?
我应该拥有它们吗?如果是这样,我应该手动创建它们吗?怎么样?
在 Visual Studio 中,创建了一个 export (.exp
) file,以便其他人可以 link 攻击您的图书馆。
对于典型的 mex 文件,没有人会 link 反对它,因此 .exp
文件不是必需的。这就是为什么尽管 MATLAB 发出此警告,您的 mex 文件仍能正常运行。它们在 mex 文件上下文中的无用性通过 MATLAB 尝试在清理过程中自行删除它们这一事实得到进一步验证。
del PATH/Atb.pbj PATH/Atb.exp PATH/atb.manufest
因为 Visual Studio 默认生成这些文件(而且 doesn't seem to be a good way to disable this behavior), I believe that they should exist somewhere on your machine after your code is compiled. It may actually be that MATLAB's mex
configuration doesn't properly handle where to place these files 它们最终位于输出目录以外的其他地方。
我目前没有 Visual Studio,但您可以在本地机器上搜索 .exp
文件,以验证它确实已创建并且只是放置在 MATLAB 所在的某个地方'不期待。如果是这种情况,您可能可以调整 mexopts
来处理这个问题。
也就是说,此警告对您的典型 mex 文件无害,可以安全地忽略。