添加新库时未解决的外部符号错误 C++

Unresolved External Symbol Error C++ While Adding New Library

提问人:Mahdi 提问时间:2/24/2021 更新时间:2/24/2021 访问量:329

问:

我正在尝试使用Blaze C++库,所以我下载了这个库并成功添加到我的项目中并使用了基本功能,但是对于额外的功能,我还必须添加BLAS和LAPACK库。所以我下载了这些包.lib.dll文件。我做了这些:

1 - 项目>>链接器>>常规>>其他库目录:我定义了包含.dll文件的路径

2 - 项目>>链接器>>输入>>其他依赖项:我定义了路径包含 .lib 文件

但是当我尝试以下代码时,我收到一些错误:

法典

#include <iostream>
#include <blaze/Math.h>



using namespace blaze;


using namespace std;

int main()
{
    StaticMatrix<double,100,100> A;
    for (size_t i = 0; i < 100; i++)
    {
        for (size_t j = 0; j < 100; j++)
        {
            A(i, j) = i + j;
        }
    }
    blaze::DynamicMatrix<double, blaze::rowMajor> L, U, P;

    lu(A, L, U, P);
}

错误

1 - Severity    Code    Description Project File    Line    Suppression State
Error   LNK2019 unresolved external symbol dgetrf_ referenced in function "void __cdecl 
blaze::getrf(int,int,double *,int,int *,int *)" (?getrf@blaze@@YAXHHPEANHPEAH1@Z)   MyProject 
D:\C++\MyProject \MyProject \MyProject.obj  1   

2 - Severity    Code    Description Project File    Line    Suppression State
Error   LNK1120 1 unresolved externals  MyProject D:\C++\MyProject\x64\Debug\MyProject.exe  1   

我该怎么办?

C++ DLL 未解析的外部 .lib blaze

评论

0赞 drescherjm 2/24/2021
项目>>链接器>>输入>>其他依赖项 我定义的路径包含 .lib 文件为此,您需要列出要链接的确切 .lib 文件。此外,在 c++ 库的 msvc 中,调试与发布可能有不同的 .lib 文件。
0赞 drescherjm 2/24/2021
1 - 项目>>链接器>>常规>>其他库目录:我定义了路径包含.dll文件这应该是 .lib 文件的路径。dll 应与可执行文件位于同一文件夹中,或者需要在 OS 或 VS 的调试器环境中修改 PATH 环境变量。
0赞 Mahdi 2/24/2021
@drescherjm感谢您的评论,但请您一步一步地解释一下我应该做什么。我将不胜感激。我完全被各种方式混淆了:(谢谢:)

答: 暂无答案