Visual c++ 使用犰狳图书馆;与BLAS和LAPACK的链接错误

Visual c++ 使用犰狳图书馆;与BLAS和LAPACK的链接错误,visual-c++,linker,lapack,blas,armadillo,Visual C++,Linker,Lapack,Blas,Armadillo,我试图使用提供的预编译blas和lapack dll文件,从Armadillo编译并运行example2.cpp中的示例。这就是我在Visual C++ 2013中所做的: 1) 我设置了一个新的空win32控制台应用程序项目 2) 添加一个名为test.cpp的新的空cpp文件 3) 我将example2.cpp的内容复制到这个test.cpp文件中 4) 在ProjectProperties->C/C++->AdditionalInclude目录中,我添加了Armadillo库中“Inclu

我试图使用提供的预编译blas和lapack dll文件,从Armadillo编译并运行example2.cpp中的示例。这就是我在Visual C++ 2013中所做的:

1) 我设置了一个新的空win32控制台应用程序项目

2) 添加一个名为test.cpp的新的空cpp文件

3) 我将example2.cpp的内容复制到这个test.cpp文件中

4) 在ProjectProperties->C/C++->AdditionalInclude目录中,我添加了Armadillo库中“Include”文件夹的路径

5) 在项目属性->链接器->常规->附加库目录中,我添加了路径 预编译的blas和lapack DLL所在的文件夹(相应的lib文件位于同一文件夹中)

6) 在project properties->linker->Input->Additional Dependencies中,我添加了预编译blas和lapack DLL的库文件,即blas_win64_MT.lib和lapack_win64_MT.lib

然后我编译了整个项目,仍然得到了很多LNK2019错误,表明在引用blas和lapack例程时存在未解析的符号


有人能帮我弄清楚这里发生了什么吗?

如果您检查Configuration Manager,您是为x64编译的吗?仅从您链接的库的名称猜测,它们可能是为x64编译的,如果您是为x86构建的,这可能是您的问题的根源。
win32
不会工作,因为Armadillo提供的LAPACK和BLAS库是64位的。嗨,Colin和Mtall,非常感谢您的建议。在我将项目配置更改为x64(之前我认为应该在64位操作系统上将其设置为默认值…)之后,这确实起到了作用。不过,还有一个问题,因为我确实是dll方面的新手:当我将dll放入项目文件夹时,程序运行平稳。还有别的办法吗?换句话说,是否可以将DLL放在一个公共文件夹中,以便许多其他项目可以引用它们?为了实现这一点,我应该如何设置和配置项目?非常感谢。有各种解决方案,但老实说,Windows处理DLL(或者更准确地说,共享库)并不是最好的。如果您要做大量的数值计算或模拟工作,您可能希望探索使用其他操作系统。