我在將clapack鏈接到我在linux上的cmake項目上很困難,並且非常感謝任何幫助。將Clapack鏈接到cmake項目Linux
我已經成功構建並將clapack鏈接到osx上的相同項目,這使得這種情況特別令人沮喪。
我第一次下載clapack-3.2.1-cmake並編譯了項目。然後,我將.a和相關的.h文件複製到項目根目錄下的一個名爲CLAPACK的目錄中。 (libblas.a,libf2c.a,liblapack.a和libtmglib.a到CLAPACK中的CLAPACK/lib和blaswrap.h,clapack.h和f2c.h)
然後我改變了我的項目的cmake文件以包含
INCLUDE_DIRECTORIES(${VMT_PRJ_SOURCE_DIR}/CLAPACK)
LINK_DIRECTORIES(${VMT_PRJ_SOURCE_DIR}/CLAPACK/lib)
LINK_LIBRARIES(f2c blas lapack tmglib)
這些步驟讓我編我的Mac上,但在該項目轉移到Linux操作系統中,並重新編譯CLAPACK庫我收到鏈接看起來像這樣
/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'
任何幫助將是錯誤大。謝謝,
斯科特
正確的先生,我想我已經在適當的順序,但事實證明它需要是 LINK_LIBRARIES(lapack blas tmglib f2c) – Scottfivefour 2012-01-27 20:10:50