在 Microsoft Visual Studio 的 x86 C++ 应用程序中集成犰狳

问题描述

自上周以来,我一直在使用“Armadillo”C++ 库。 我从 Microsoft Visual Studio 中的默认 64 位 C++ 应用程序开始。对于安装,我按照以下帖子中的步骤进行操作:

How can I install Armadillo on Windows?

按照这些步骤,我一切正常。

但是现在我必须扩展我的 C++ 应用程序并且必须包含/集成另一个 .dll。我的问题是,这个 .dll 是一个 32 位的 .dll。因此,当我尝试在使用 Armadillo 库的 64 位应用程序中调用它时,我总是收到“类未注册”错误。这就是我想将我的整个项目迁移到 x86 应用程序的原因。但是由于某种原因,我无法将犰狳库迁移到这个 x86 应用程序中(按照上面链接中的说明操作不再有效)。在构建程序时,我总是收到 50 多个“LNK2019”错误。

有谁知道如何解决这个问题并知道谁将 Armadillo 集成到 32 位应用程序中?

感谢您的帮助!!

解决方法

解决了。

对我来说,它可以将默认从 Armadillo 安装的 x64 位“libopenblas.lib”和“libopenblas.dll”替换为 x86“libopenblas.lib”和“libopenblas.dll”,它们是包含在 GitHub 上 OpenBlas 发布页面的“OpenBLAS-0.3.15-x86.zip”下载文件中:

https://github.com/xianyi/OpenBLAS/releases

可能只替换“libopenblas.lib”文件就足够了。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...