私はclapackを私のcmakeプロジェクトとlinuxでリンクするのが難しく、どんな助けでも大変感謝しています。ClapackをcmakeプロジェクトにリンクするLinux
私は正常にclapackをosxの同じプロジェクトにビルドしてリンクしました。これは、この状況を特に苛立たせるものです。
私は最初にclapack-3.2.1-cmakeをダウンロードし、プロジェクトをコンパイルしました。次に、.aと関連する.hファイルをプロジェクトのルートディレクトリの下にあるCLAPACKという名前のディレクトリにコピーしました。 (libblas.a、libf2c.a、liblapack.a、libtmglib.aをCLAPACK/libに、blaswrap.h、clapack.h、f2c.hをCLAPACKに)
次に私のプロジェクトのcmakeファイルを変更しました
INCLUDE_DIRECTORIES(${VMT_PRJ_SOURCE_DIR}/CLAPACK)
LINK_DIRECTORIES(${VMT_PRJ_SOURCE_DIR}/CLAPACK/lib)
LINK_LIBRARIES(f2c blas lapack tmglib)
これらの手順は、私は私のMac上で私はすべてのヘルプは次のようになり、この
/home/siggik/Development/SFT-9012/CLAPACK/lib/liblapack.a(sgesvd.c.o): In function `sgesvd_':
sgesvd.c:(.text+0x456): undefined reference to `s_cat'
sgesvd.c:(.text+0x1fa4): undefined reference to `s_cat'
/home/siggik/Development/SFT-9012/CLAPACK/lib/liblapack.a(sormbr.c.o): In function `sormbr_':
sormbr.c:(.text+0x39f): undefined reference to `s_cat'
sormbr.c:(.text+0x45c): undefined reference to `s_cat'
sormbr.c:(.text+0x527): undefined reference to `s_cat'
のように見えるリンクエラーを取得していますCLAPACKライブラリをLinuxボックスにプロジェクトを転送し、再コンパイル時にコンパイルすることができすばらしいです。おかげで、
スコット
正直なところ、私は適切な順序でそれを持っていたと思ったが、それは必要であることが判明した LINK_LIBRARIES(ラップバックブラシtmglib f2c) – Scottfivefour