Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/136.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
C++ 使用Visual Studio 2013使用LAPACK/BLAS编译和运行Armadillo:在其他基于windows的系统中运行应用程序时出现的问题_C++_Visual Studio 2013_Armadillo - Fatal编程技术网

C++ 使用Visual Studio 2013使用LAPACK/BLAS编译和运行Armadillo:在其他基于windows的系统中运行应用程序时出现的问题

C++ 使用Visual Studio 2013使用LAPACK/BLAS编译和运行Armadillo:在其他基于windows的系统中运行应用程序时出现的问题,c++,visual-studio-2013,armadillo,C++,Visual Studio 2013,Armadillo,首先,我是编程新手 我已经用VisualStudio2013和Armadillo和LAPACK/BLAS在自己的计算机上构建了一个成功的解决方案。我能够在我的系统(Windows 7)中运行控制台应用程序(.exe)和(.dll) 当我需要在另一台装有Windows7的计算机上运行这些应用程序时,问题出现了。首先,我构建的每个应用程序都会抛出错误“您的计算机中缺少MSVCP120D.dll”。我能够修复VS中从MDd(MD)到MTd(MT)不断变化的“运行时库”。使用此方法,我可以使用Armad

首先,我是编程新手

我已经用VisualStudio2013和Armadillo和LAPACK/BLAS在自己的计算机上构建了一个成功的解决方案。我能够在我的系统(Windows 7)中运行控制台应用程序(.exe)和(.dll)

当我需要在另一台装有Windows7的计算机上运行这些应用程序时,问题出现了。首先,我构建的每个应用程序都会抛出错误“您的计算机中缺少MSVCP120D.dll”。我能够修复VS中从MDd(MD)到MTd(MT)不断变化的“运行时库”。使用此方法,我可以使用Armadillo运行控制台应用程序,但不使用LAPACK/BLAS(取消config.hpp中相应行的注释)

当我在VS2013中启用带MTd(MT)运行时配置的LAPACK/BLAS时,应用程序不再在这台不同的计算机上运行

那么,我做错了什么,在这种情况下该怎么办


谢谢

我理解这个问题。我使用的是预编译库lapack_win32_MT.lib和blas_win32_MT.lib。我将其更改为LAPACK/BLAS站点(llapack.lib和lblas.lib)中可用的更新版本,现在它可以工作了。以防有人出现同样的问题。我面临着一个非常相似的问题。我正在编译一个带有Armadillo构建的库(dll)的插件。我可以在本地运行,但不能在其他用户上运行。你能提供更多关于你是如何解决这个问题的详细信息吗/你提到的下载库的链接?提前感谢您在其他计算机上使用该应用程序,我必须将其编译为/MD,但无法将其编译为/MDd。您必须确保更新的MS C++可重分配包安装在用户机器中。如果使用VS 2013,则应安装MS可再发行版本12。在Microsoft Visual Studio项目的预建库中下载了有效的库版本。在我的例子中,我选择了BLAS和LAPACK的win32 dll和win32 lib版本。下载的归档文件名是libblas和liblapack。将两个*.dll都放在应用程序的目录中应该可以工作。我认为这些是关键步骤。