行列計算を行うために Armadillo 行列ライブラリを使用しようとしていますが、BLAS と LAPACK が必要です。Armadillo のドキュメントでは、http: //www.stanford.edu/~vkl/code/libs.html からコンパイル済みバージョンを取得することを推奨しています。
そこには .lib と .dll ファイルがあります。唯一の問題は、Visual Studio (Express Edition 2008) にこれらのファイルを認識させる方法がわからないことです。それらを Visual C++ の include および lib ディレクトリC:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\
とにコピーしようとしましC:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\lib\
たが、プログラムをコンパイルしようとすると、見つからないという「未解決の外部シンボル」エラーが大量に発生するため、何もしないようです。 LAPACK 関数。
編集:
エラーメッセージは次のとおりです。
1>リンク中... 1>LINK: 警告 LNK4076: 無効なインクリメンタル ステータス ファイル 'C:\Users\User\Documents\Visual Studio 2008\Projects\TentPitcher\Debug\TentPitcher.ilk'; 非増分リンク 1> ライブラリ C:\Users\User\Documents\Visual Studio 2008\Projects\TentPitcher\Debug\TentPitcher.lib およびオブジェクト C:\Users\User\Documents\Visual Studio 2008\Projects\TentPitcher\Debug\TentPitcher.exp の作成 1>Cell3DXT.obj: エラー LNK2019: 未解決の外部シンボル _zgetrf_ が関数で参照されています "void __cdecl arma::lapack::getrf_(int *,int *,double *,int *,int *,int *)" (??$ getrf_@N@lapack@arma@@YAXPAH0PAN000@Z) 1>ThreeCell3DXT.obj: エラー LNK2001: 未解決の外部シンボル _zgetrf_ 1>Cell3DXT.obj: エラー LNK2019: 未解決の外部シンボル _cgetrf_ が関数で参照されています "void __cdecl arma::lapack::getrf_(int *,int *,double *,int *,int *,int *)" (??$ getrf_@N@lapack@arma@@YAXPAH0PAN000@Z) 1>ThreeCell3DXT.obj: エラー LNK2001: 未解決の外部シンボル _cgetrf_ 1>Cell3DXT.obj: エラー LNK2019: 関数 "void __cdecl arma::lapack::getrf_(int *,int *,double *,int *,int *,int *)" で参照されている未解決の外部シンボル _dgetrf_ (??$ getrf_@N@lapack@arma@@YAXPAH0PAN000@Z) 1>ThreeCell3DXT.obj: エラー LNK2001: 未解決の外部シンボル _dgetrf_ 1>Cell3DXT.obj: エラー LNK2019: 関数 "void __cdecl arma::lapack::getrf_(int *,int *,double *,int *,int *,int *)" で参照されている未解決の外部シンボル _sgetrf_ (??$ getrf_@N@lapack@arma@@YAXPAH0PAN000@Z) 1>ThreeCell3DXT.obj: エラー LNK2001: 未解決の外部シンボル _sgetrf_ 1>Cell3DXT.obj : エラー LNK2019: 未解決の外部シンボル _zgemv_ が関数で参照されています "void __cdecl arma::blas::gemv_(char const *,int const *,int const *,double const *,double const *,int const * ,double const *,int const *,double const *,double *,int const *)" (??$gemv_@N@blas@arma@@YAXPBDPBH1PBN21212PAN1@Z) 1>ThreeCell3DXT.obj: エラー LNK2001: 未解決の外部シンボル _zgemv_ 1>TwoCell3DXT.obj: エラー LNK2001: 未解決の外部シンボル _zgemv_ 1>Cell3DXT.obj : エラー LNK2019: 未解決の外部シンボル _cgemv_ が関数で参照されています "void __cdecl arma::blas::gemv_(char const *,int const *,int const *,double const *,double const *,int const * ,double const *,int const *,double const *,double *,int const *)" (??$gemv_@N@blas@arma@@YAXPBDPBH1PBN21212PAN1@Z) 1>ThreeCell3DXT.obj: エラー LNK2001: 未解決の外部シンボル _cgemv_ 1>TwoCell3DXT.obj: エラー LNK2001: 未解決の外部シンボル _cgemv_ 1>Cell3DXT.obj : エラー LNK2019: 未解決の外部シンボル _dgemv_ が関数で参照されています "void __cdecl arma::blas::gemv_(char const *,int const *,int const *,double const *,double const *,int const * ,double const *,int const *,double const *,double *,int const *)" (??$gemv_@N@blas@arma@@YAXPBDPBH1PBN21212PAN1@Z) 1>ThreeCell3DXT.obj: エラー LNK2001: 未解決の外部シンボル _dgemv_ 1>TwoCell3DXT.obj: エラー LNK2001: 未解決の外部シンボル _dgemv_ 1>Cell3DXT.obj : エラー LNK2019: 未解決の外部シンボル _sgemv_ が関数で参照されています "void __cdecl arma::blas::gemv_(char const *,int const *,int const *,double const *,double const *,int const * ,double const *,int const *,double const *,double *,int const *)" (??$gemv_@N@blas@arma@@YAXPBDPBH1PBN21212PAN1@Z) 1>ThreeCell3DXT.obj: エラー LNK2001: 未解決の外部シンボル _sgemv_ 1>TwoCell3DXT.obj: エラー LNK2001: 未解決の外部シンボル _sgemv_ 1>Cell3DXT.obj : エラー LNK2019: 未解決の外部シンボル _zgemm_ が関数で参照されています "void __cdecl arma::blas::gemm_(char const *,char const *,int const *,int const *,int const *,double const * ,double const *,int const *,double const *,int const *,double const *,double *,int const *)" (??$gemm_@N@blas@arma@@YAXPBD0PBH11PBN21212PAN1@Z) 1>ThreeCell3DXT.obj: エラー LNK2001: 未解決の外部シンボル _zgemm_ 1>TwoCell3DXT.obj: エラー LNK2001: 未解決の外部シンボル _zgemm_ 1>Cell3DXT.obj : エラー LNK2019: 未解決の外部シンボル _cgemm_ が関数で参照されています "void __cdecl arma::blas::gemm_(char const *,char const *,int const *,int const *,int const *,double const * ,double const *,int const *,double const *,int const *,double const *,double *,int const *)" (??$gemm_@N@blas@arma@@YAXPBD0PBH11PBN21212PAN1@Z) 1>ThreeCell3DXT.obj: エラー LNK2001: 未解決の外部シンボル _cgemm_ 1>TwoCell3DXT.obj: エラー LNK2001: 未解決の外部シンボル _cgemm_ 1>Cell3DXT.obj : エラー LNK2019: 未解決の外部シンボル _dgemm_ が関数で参照されています "void __cdecl arma::blas::gemm_(char const *,char const *,int const *,int const *,int const *,double const * ,double const *,int const *,double const *,int const *,double const *,double *,int const *)" (??$gemm_@N@blas@arma@@YAXPBD0PBH11PBN21212PAN1@Z) 1>ThreeCell3DXT.obj: エラー LNK2001: 未解決の外部シンボル _dgemm_ 1>TwoCell3DXT.obj: エラー LNK2001: 未解決の外部シンボル _dgemm_ 1>Cell3DXT.obj : エラー LNK2019: 未解決の外部シンボル _sgemm_ が関数で参照されています "void __cdecl arma::blas::gemm_(char const *,char const *,int const *,int const *,int const *,double const * ,double const *,int const *,double const *,int const *,double const *,double *,int const *)" (??$gemm_@N@blas@arma@@YAXPBD0PBH11PBN21212PAN1@Z) 1>ThreeCell3DXT.obj: エラー LNK2001: 未解決の外部シンボル _sgemm_ 1>TwoCell3DXT.obj: エラー LNK2001: 未解決の外部シンボル _sgemm_ 1>Cell3DXT.obj : エラー LNK2019: 未解決の外部シンボル _zgetri_ が関数で参照されています "void __cdecl arma::lapack::getri_(int *,double *,int *,int *,double *,int *,int *)" ( ??$getri_@N@lapack@arma@@YAXPAHPAN00100@Z) 1>ThreeCell3DXT.obj: エラー LNK2001: 未解決の外部シンボル _zgetri_ 1>Cell3DXT.obj : エラー LNK2019: 未解決の外部シンボル _cgetri_ が関数で参照されています "void __cdecl arma::lapack::getri_(int *,double *,int *,int *,double *,int *,int *)" ( ??$getri_@N@lapack@arma@@YAXPAHPAN00100@Z) 1>ThreeCell3DXT.obj: エラー LNK2001: 未解決の外部シンボル _cgetri_ 1>Cell3DXT.obj : エラー LNK2019: 未解決の外部シンボル _dgetri_ が関数で参照されています "void __cdecl arma::lapack::getri_(int *,double *,int *,int *,double *,int *,int *)" ( ??$getri_@N@lapack@arma@@YAXPAHPAN00100@Z) 1>ThreeCell3DXT.obj: エラー LNK2001: 未解決の外部シンボル _dgetri_ 1>Cell3DXT.obj : エラー LNK2019: 未解決の外部シンボル _sgetri_ が関数で参照されています "void __cdecl arma::lapack::getri_(int *,double *,int *,int *,double *,int *,int *)" ( ??$getri_@N@lapack@arma@@YAXPAHPAN00100@Z) 1>ThreeCell3DXT.obj: エラー LNK2001: 未解決の外部シンボル _sgetri_ 1>TwoCell3DXT.obj: エラー LNK2019: 未解決の外部シンボル _dgesvd_ が関数で参照されています "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: エラー LNK2019: 未解決の外部シンボル _sgesvd_ が関数で参照されています "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: 致命的なエラー LNK1120: 18 の未解決の外部 1>ビルド ログは「file://c:\Users\User\Documents\Visual Studio 2008\Projects\TentPitcher\TentPitcher\Debug\BuildLog.htm」に保存されました。 1>TentPitcher - 43 エラー、1 警告
" Cell3DXT
"、" TwoCell3DXT
"、および " ThreeCell3DXT
" は、自分のコードのクラスです。また、上記の LAPACK および BLAS ファイルには、「.exp ファイル」があります。これらは何ですか?また、問題と関係がありますか?