Warum bekomme ich Fehler die Installation von vorkompilierten Versionen von LAPACK auf Windows?
Ich versuche, mit der Armadillo-matrix-Bibliothek zu tun, matrix calcualtions und muss es BLAS und LAPACK. Die Armadillo-Dokumentation empfohlen bekommen, die vorkompilierten Versionen aus http://www.stanford.edu/~vkl/code/libs.html
Gibt es .lib und .dll-Dateien drin. Das problem ist nur, ich weiß nicht, wie man Visual Studio (Express Edition 2008) zu erkennen, diese Dateien. Ich versuche, Sie zu kopieren, um die Visual C++ include-und lib-Verzeichnisse C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\
und C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\lib\
, aber es scheint nicht, etwas zu tun, weil wenn ich versuche, um mein Programm zu kompilieren, ich bekomme jede Menge "nicht aufgelöstes externes symbol" - Fehler sagen, dass es nicht finden können, LAPACK Funktionen.
EDIT:
Hier sind die Fehlermeldungen:
1>Verknüpfung... 1>LINK : warning LNK4076: ungültige inkremental-status-Datei 'C:\Users\User\Documents\Visual Studio 2008\Projects\TentPitcher\Debug\TentPitcher.ilk'; Verknüpfung nonincrementally 1> Bibliothek Erstellen C:\Users\User\Documents\Visual Studio 2008\Projects\TentPitcher\Debug\TentPitcher.lib und Objekt C:\Users\User\Documents\Visual Studio 2008\Projects\TentPitcher\Debug\TentPitcher.exp 1>Cell3DXT.obj : error LNK2019: nicht aufgelöstes externes symbol _zgetrf_ verwiesen in Funktion "" void __cdecl arma::lapack::getrf_(int *,int *,double *,int *,int *,int *)" (??$getrf_@N@lapack@arma@@YAXPAH0PAN000@Z) 1>ThreeCell3DXT.obj : error LNK2001: nicht aufgelöstes externes symbol _zgetrf_ 1>Cell3DXT.obj : error LNK2019: nicht aufgelöstes externes symbol _cgetrf_ verwiesen in Funktion "" void __cdecl arma::lapack::getrf_(int *,int *,double *,int *,int *,int *)" (??$getrf_@N@lapack@arma@@YAXPAH0PAN000@Z) 1>ThreeCell3DXT.obj : error LNK2001: nicht aufgelöstes externes symbol _cgetrf_ 1>Cell3DXT.obj : error LNK2019: nicht aufgelöstes externes symbol _dgetrf_ verwiesen in Funktion "" void __cdecl arma::lapack::getrf_(int *,int *,double *,int *,int *,int *)" (??$getrf_@N@lapack@arma@@YAXPAH0PAN000@Z) 1>ThreeCell3DXT.obj : error LNK2001: nicht aufgelöstes externes symbol _dgetrf_ 1>Cell3DXT.obj : error LNK2019: nicht aufgelöstes externes symbol _sgetrf_ verwiesen in Funktion "" void __cdecl arma::lapack::getrf_(int *,int *,double *,int *,int *,int *)" (??$getrf_@N@lapack@arma@@YAXPAH0PAN000@Z) 1>ThreeCell3DXT.obj : error LNK2001: nicht aufgelöstes externes symbol _sgetrf_ 1>Cell3DXT.obj : error LNK2019: nicht aufgelöstes externes symbol _zgemv_ verwiesen in Funktion "" void __cdecl arma::blas::gemv_(const char *,const int *,const int *,const double *,const double *,const int *,const double *,const int *,const double *,double *,int const *)" (??$gemv_@N@blas@arma@@YAXPBDPBH1PBN21212PAN1@Z) 1>ThreeCell3DXT.obj : error LNK2001: nicht aufgelöstes externes symbol _zgemv_ 1>TwoCell3DXT.obj : error LNK2001: nicht aufgelöstes externes symbol _zgemv_ 1>Cell3DXT.obj : error LNK2019: nicht aufgelöstes externes symbol _cgemv_ verwiesen in Funktion "" void __cdecl arma::blas::gemv_(const char *,const int *,const int *,const double *,const double *,const int *,const double *,const int *,const double *,double *,int const *)" (??$gemv_@N@blas@arma@@YAXPBDPBH1PBN21212PAN1@Z) 1>ThreeCell3DXT.obj : error LNK2001: nicht aufgelöstes externes symbol _cgemv_ 1>TwoCell3DXT.obj : error LNK2001: nicht aufgelöstes externes symbol _cgemv_ 1>Cell3DXT.obj : error LNK2019: nicht aufgelöstes externes symbol _dgemv_ verwiesen in Funktion "" void __cdecl arma::blas::gemv_(const char *,const int *,const int *,const double *,const double *,const int *,const double *,const int *,const double *,double *,int const *)" (??$gemv_@N@blas@arma@@YAXPBDPBH1PBN21212PAN1@Z) 1>ThreeCell3DXT.obj : error LNK2001: nicht aufgelöstes externes symbol _dgemv_ 1>TwoCell3DXT.obj : error LNK2001: nicht aufgelöstes externes symbol _dgemv_ 1>Cell3DXT.obj : error LNK2019: nicht aufgelöstes externes symbol _sgemv_ verwiesen in Funktion "" void __cdecl arma::blas::gemv_(const char *,const int *,const int *,const double *,const double *,const int *,const double *,const int *,const double *,double *,int const *)" (??$gemv_@N@blas@arma@@YAXPBDPBH1PBN21212PAN1@Z) 1>ThreeCell3DXT.obj : error LNK2001: nicht aufgelöstes externes symbol _sgemv_ 1>TwoCell3DXT.obj : error LNK2001: nicht aufgelöstes externes symbol _sgemv_ 1>Cell3DXT.obj : error LNK2019: nicht aufgelöstes externes symbol _zgemm_ verwiesen in Funktion "" void __cdecl arma::blas::gemm_(char const *,char const *,int const *,int const *,int const *,const double *,const double *,const int *,const double *,const int *,const double *,double *,int const *)" (??$gemm_@N@blas@arma@@YAXPBD0PBH11PBN21212PAN1@Z) 1>ThreeCell3DXT.obj : error LNK2001: nicht aufgelöstes externes symbol _zgemm_ 1>TwoCell3DXT.obj : error LNK2001: nicht aufgelöstes externes symbol _zgemm_ 1>Cell3DXT.obj : error LNK2019: nicht aufgelöstes externes symbol _cgemm_ verwiesen in Funktion "" void __cdecl arma::blas::gemm_(char const *,char const *,int const *,int const *,int const *,const double *,const double *,const int *,const double *,const int *,const double *,double *,int const *)" (??$gemm_@N@blas@arma@@YAXPBD0PBH11PBN21212PAN1@Z) 1>ThreeCell3DXT.obj : error LNK2001: nicht aufgelöstes externes symbol _cgemm_ 1>TwoCell3DXT.obj : error LNK2001: nicht aufgelöstes externes symbol _cgemm_ 1>Cell3DXT.obj : error LNK2019: nicht aufgelöstes externes symbol _dgemm_ verwiesen in Funktion "" void __cdecl arma::blas::gemm_(char const *,char const *,int const *,int const *,int const *,const double *,const double *,const int *,const double *,const int *,const double *,double *,int const *)" (??$gemm_@N@blas@arma@@YAXPBD0PBH11PBN21212PAN1@Z) 1>ThreeCell3DXT.obj : error LNK2001: nicht aufgelöstes externes symbol _dgemm_ 1>TwoCell3DXT.obj : error LNK2001: nicht aufgelöstes externes symbol _dgemm_ 1>Cell3DXT.obj : error LNK2019: nicht aufgelöstes externes symbol _sgemm_ verwiesen in Funktion "" void __cdecl arma::blas::gemm_(char const *,char const *,int const *,int const *,int const *,const double *,const double *,const int *,const double *,const int *,const double *,double *,int const *)" (??$gemm_@N@blas@arma@@YAXPBD0PBH11PBN21212PAN1@Z) 1>ThreeCell3DXT.obj : error LNK2001: nicht aufgelöstes externes symbol _sgemm_ 1>TwoCell3DXT.obj : error LNK2001: nicht aufgelöstes externes symbol _sgemm_ 1>Cell3DXT.obj : error LNK2019: nicht aufgelöstes externes symbol _zgetri_ verwiesen in Funktion "" void __cdecl arma::lapack::getri_(int *,double *,int *,int *,double *,int *,int *)" (??$getri_@N@lapack@arma@@YAXPAHPAN00100@Z) 1>ThreeCell3DXT.obj : error LNK2001: nicht aufgelöstes externes symbol _zgetri_ 1>Cell3DXT.obj : error LNK2019: nicht aufgelöstes externes symbol _cgetri_ verwiesen in Funktion "" void __cdecl arma::lapack::getri_(int *,double *,int *,int *,double *,int *,int *)" (??$getri_@N@lapack@arma@@YAXPAHPAN00100@Z) 1>ThreeCell3DXT.obj : error LNK2001: nicht aufgelöstes externes symbol _cgetri_ 1>Cell3DXT.obj : error LNK2019: nicht aufgelöstes externes symbol _dgetri_ verwiesen in Funktion "" void __cdecl arma::lapack::getri_(int *,double *,int *,int *,double *,int *,int *)" (??$getri_@N@lapack@arma@@YAXPAHPAN00100@Z) 1>ThreeCell3DXT.obj : error LNK2001: nicht aufgelöstes externes symbol _dgetri_ 1>Cell3DXT.obj : error LNK2019: nicht aufgelöstes externes symbol _sgetri_ verwiesen in Funktion "" void __cdecl arma::lapack::getri_(int *,double *,int *,int *,double *,int *,int *)" (??$getri_@N@lapack@arma@@YAXPAHPAN00100@Z) 1>ThreeCell3DXT.obj : error LNK2001: nicht aufgelöstes externes symbol _sgetri_ 1>TwoCell3DXT.obj : error LNK2019: nicht aufgelöstes externes symbol _dgesvd_ verwiesen in Funktion "" void __cdecl arma::lapack::gesvd_(char *,char *,int *,int *,double *,int *,double *,double *,int *,double *,int *,double *,int *,int *)" (??$gesvd_@N@lapack@arma@@YAXPAD0PAH1PAN122121211@Z) 1>TwoCell3DXT.obj : error LNK2019: nicht aufgelöstes externes symbol _sgesvd_ verwiesen in Funktion "" void __cdecl arma::lapack::gesvd_(char *,char *,int *,int *,double *,int *,double *,double *,int *,double *,int *,double *,int *,int *)" (??$gesvd_@N@lapack@arma@@YAXPAD0PAH1PAN122121211@Z) 1>C:\Users\User\Documents\Visual Studio 2008\Projects\TentPitcher\Debug\TentPitcher.exe : fatal error LNK1120: 18 nicht aufgelöste externe Verweise 1>Build-Protokoll wurde gespeichert unter "file://c:\Users\User\Documents\Visual Studio 2008\Projects\TentPitcher\TentPitcher\Debug\BuildLog.htm" 1>TentPitcher - 43 error(s), 1 warning(s)
"Cell3DXT
", "TwoCell3DXT
"und "ThreeCell3DXT
" sind Klassen, die in meinem eigenen code. Auch in den LAPACK-und BLAS-Dateien (siehe oben), gibt es ".exp-Dateien" - was sind diese und haben Sie etwas mit dem problem zu tun?
- Kann dir nicht helfen ohne zu sehen, die Fehlermeldungen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dachte ich die Antwort zu meinem problem. Das problem war, dass ich wusste, ich musste das Verzeichnis mit den LAPACK .lib-Datei in die Liste der library-Verzeichnissen (Extras -> Optionen -> Projekte und Lösungen -> VC++ - Verzeichnisse -> Bibliothek-Dateien), aber vergessen, die hatte ich auch hinzufügen, dass es die "Zusätzliche Abhängigkeiten" unter "Projekt" - > (Projektname) Properties -> Linker -> Input.
Ich hatte das gleiche problem, aber ich löste es wie folgt: