1
私はclapackをosxからlinuxに移行し、いくつかの問題を経験しているプロジェクトを動かしています。私はcmackプロジェクトをダウンロードし、必要な.hと.aファイルをコンパイルしてプロジェクト内の関連する場所に移動することで、clapackを使用します。Linuxでclapackをリンクする
私は両方のシナリオ(osxとlinux)で同じ手順を使用していますが、両方のマシンで同じ正確なソースコードを持っていますが、Linux上ですべてを正しくリンクすることができません。
この
#-----------------------------------------------------------------------------
# INCLUDE CLAPACK
#-----------------------------------------------------------------------------
INCLUDE_DIRECTORIES(${VMT_PRJ_SOURCE_DIR}/CLAPACK)
LINK_DIRECTORIES(${VMT_PRJ_SOURCE_DIR}/CLAPACK/lib)
LINK_LIBRARIES(blas f2c lapack tmglib)
と、私はこれは私がOSX版からポートを行っている最初の時間です。この
/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'
のようなルックスを取得していますエラーのように見える私のcmakeのファイル内のコードの並びます私はリンクするために必要ないくつかの異なる要件があるかどうか、または問題が何であるか分かりません。
何か助けていただければ幸いです。
Scott
これはいくつかのエラーの助けになりましたが、まだ未定義の参照がいくつかあります。 gccコンパイラでlinuxではなくosxで問題が発生するのはなぜですか? – Scottfivefour
OS Xが使用しているリンカーについて私は本当に知りません。おそらくそれはより知的です。 Linuxで心に留めておくべきことは、それを使用するすべてのライブラリの後に各ライブラリを配置することです。 –