2017-06-28 75 views
0

我試圖編譯Windows10/Visual Studio的2017年在一個代碼,這個代碼我必須使用LAPACK庫的dgtsv功能。LAPACK功能dgtsv給予解析的外部符號用C++/Visual Studio中

我聯繫Visual Studio中我BLASLAPACK庫和複製DLL的到SYSTEM32。

我也安裝了MinGW與g ++和fortran編譯器。

extern "C" { 
    void dgtsv(int*, int*, double*, double*, double*, double*, int*, int*); 
} 

但是,編譯器給了我以下錯誤:

LNK2019 unresolved external symbol dgtsv referenced in function "private: void __cdecl" 

謝謝您能給我一些建議。

+0

你是如何安裝的BLAS和LAPACK庫?他們是從MinGW編譯的嗎?因爲這可能是一個問題。 –

+0

我以前在這裏找到了預建庫:http://icl.cs.utk.edu/lapack-for-windows/lapack/index.html#libraries我隨後聯繫以下的地方.lib文件是到Visual Studio中的文件夾在頁面上的說明。 –

+1

你能給我們提供更多信息嗎?什麼是MSBuild的命令,或者如果您使用的是IDE,那麼你的項目文件是什麼樣子?你如何鏈接到他們? 您使用的是預生成的MinGW或Visual Studio庫(它們是不一樣的)。 –

回答

0

的解決辦法是在函數名後添加下劃線,即:

extern "C" { 
    void dgtsv_(int*, int*, double*, double*, double*, double*, int*, int*); 
}