Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 无效的MEX(找不到指定的过程):在visual studio中构建CUDA MEX函数并在MATLAB中调用它_Visual Studio_Dll_Cuda_32bit 64bit_Mex - Fatal编程技术网

Visual studio 无效的MEX(找不到指定的过程):在visual studio中构建CUDA MEX函数并在MATLAB中调用它

Visual studio 无效的MEX(找不到指定的过程):在visual studio中构建CUDA MEX函数并在MATLAB中调用它,visual-studio,dll,cuda,32bit-64bit,mex,Visual Studio,Dll,Cuda,32bit 64bit,Mex,我有一个以前使用VisualStudio2005SP1在32位WinXP中使用的(cuSVM项目)。我想在我的64位Win7中运行它。我使用VisualStudio2008以64位模式编译了它。但由于缺少一些DLL,它无法运行 我使用了“Dependency Walker”,缺少的dll是: MSVCR80.DLL MSVCR90D.DLL IESHIMS.DLL 带有黄色问号,表示“系统无法找到指定的文件” 在DLL树中,我在“c:\windows\system32\NVCUDA.DLL”

我有一个以前使用VisualStudio2005SP1在32位WinXP中使用的(cuSVM项目)。我想在我的64位Win7中运行它。我使用VisualStudio2008以64位模式编译了它。但由于缺少一些DLL,它无法运行

我使用了“Dependency Walker”,缺少的dll是:

  • MSVCR80.DLL
  • MSVCR90D.DLL
  • IESHIMS.DLL
带有黄色问号,表示“系统无法找到指定的文件”

在DLL树中,我在“c:\windows\system32\NVCUDA.DLL”中有一个红色的“NVCUDA.DLL”,在这个文件子树中有一个红色的块“IEFRAME.DLL”、“c:\windows\system32\IEFRAME.DLL”

和错误消息:

Error: At least one required implicit or forwarded dependency was not found. Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module. Warning: At least one delay-load dependency module was not found. Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module. 错误:未找到至少一个必需的隐式或转发依赖项。 错误:由于隐式相关模块中缺少导出函数,至少有一个模块具有未解析的导入。 警告:未找到至少一个延迟加载依赖项模块。 警告:由于延迟负载相关模块中缺少导出功能,至少有一个模块具有未解析的导入。 接下来,我从Visual Studio安装中复制了“MSVCR80.DLL”和“MSVCR90D.DLL”文件:

C:\ProgramFiles(x86)\Microsoft Visual Studio 9.0\VC\redist\Debug\u NonRest\amd64\Microsoft.VC90.DebugCRT

及 C:\ProgramFiles(x86)\Microsoft Visual Studio 8\VC\redist\amd64\Microsoft.VC80.CRT

“MSVCR80.DLL”的文件版本为“8.0.50727.42”,“MSVCR90D.DLL”的文件版本为“9.0.21022.8”

embed.manifest文件信息为: type=“win32”name=“Microsoft.VC90.DebugCRT”version=“9.0.21022.8”processorArchitecture=“amd64”publicKeyToken=“1FC8B3B9A118E3B”


我对visual studio和dll文件有一点了解,因此我真的需要您的帮助。

我发现该错误可能与缺少dll无关。MATLAB错误为“无效mex文件”。当错误消息为:“找不到指定的“模块”时,则缺少DLL是原因。但当错误消息为:“找不到指定的“过程”时,问题可能不同

我发现错误可能与缺少dll无关。MATLAB错误为“无效mex文件”。当错误消息为:“找不到指定的“模块”时,则缺少DLL是原因。但是,当错误消息为:“找不到指定的“过程”时,问题可能不同

我遇到了相同的问题。解决这个问题是一个奇怪的、难以理解的问题

转到项目>属性。选择配置属性>链接器>高级,如下图所示。然后,在显示“目标机器”的位置,将设置从“未设置”更改为MachineX64(/Machine:X64),再次如图所示。我花了一段时间才弄明白这一点,从那以后,我一直在从VisualStudio从头开始成功地编译mex+cuda文件。希望这也能为您解决这个问题


我也有同样的问题。解决这个问题是一个奇怪的、难以理解的问题

转到项目>属性。选择配置属性>链接器>高级,如下图所示。然后,在显示“目标机器”的位置,将设置从“未设置”更改为MachineX64(/Machine:X64),再次如图所示。我花了一段时间才弄明白这一点,从那以后,我一直在从VisualStudio从头开始成功地编译mex+cuda文件。希望这也能为您解决这个问题


您已经混合了来自不同版本Visual Studio的发布和调试DLL。确保所有内容都是在版本或调试中使用相同版本的VS构建的。这包括依赖项。您的意思是我必须使用visual studio 2005编译项目吗?如果我使用VisualStudio2008,我需要只存在于VisualStudio2005安装文件夹中的“MSVCR80.DLL”。为什么程序在visual studio 2008中编译时需要MSVCR80.DLL?我在我的计算机上搜索了“IESHIMS.DLL”,有不同大小的不同版本。我使用了位于“C:\Program Files\Internet Explorer”中的版本,这是真的吗?很可能您的项目所依赖的东西(您是否链接到某个东西?)是使用Visual Studio 2005构建的。这将创建对VS 2005相关DLL的依赖关系。确保您使用的所有东西(包括依赖项)都是使用相同的VS版本构建的。现在不要担心IESHIMS.DLL。Dependency Walker有时会给你错误的否定。快速查看一下这个项目,似乎有一个对Matlab库的依赖?它们是为哪个版本的Visual Studio编译的?您很可能会在Matlab的文档中找到这一点……您已经混合了来自不同版本Visual Studio的发布和调试DLL。确保所有内容都是在版本或调试中使用相同版本的VS构建的。这包括依赖项。您的意思是我必须使用visual studio 2005编译项目吗?如果我使用VisualStudio2008,我需要只存在于VisualStudio2005安装文件夹中的“MSVCR80.DLL”。为什么程序在visual studio 2008中编译时需要MSVCR80.DLL?我在我的计算机上搜索了“IESHIMS.DLL”,有不同大小的不同版本。我使用了位于“C:\Program Files\Internet Explorer”中的版本,这是真的吗?很可能您的项目所依赖的东西(您是否链接到某个东西?)是使用Visual Studio 2005构建的。这将创建对VS 2005相关DLL的依赖关系。确保您使用的所有东西(包括依赖项)都是使用相同的VS版本构建的。现在不要担心IESHIMS.DLL。Dependency Walker有时会给你错误的否定。快速查看一下这个项目,似乎有一个对Matlab库的依赖?它们是为哪个版本的Visual Studio编译的?您很可能会在Matlab的文档中找到这一点……非常感谢您的回答,但是