2
私はcmakeを使って自分のコードにintel mklをリンクしようとしています。私はその後、Findmkl.cmakeにmkl_intel_lp64
、mkl_core
、およびmkl_sequential
を見つけるために、モジュールを書くCMakeで-lpthread -lm -ldlをリンクするには
-L${MKLROOT}/lib/intel64 -lmkl_intel_lp64 -lmkl_core -lmkl_sequential -lpthread -lm -ldl
:
find_library(lp64_libraries NAMES mkl_intel_lp64 PATHS "${mkl_path}/lib/intel64")
find_library(core_libraries NAMES mkl_core PATHS "${mkl_path}/lib/intel64")
find_library(sequential_libraries NAMES mkl_sequential PATHS "${mkl_path}/lib/intel64")
その後、私はこれらのライブラリをリンクすることができMKLリンク顧問からは、私がして、ライブラリをリンクする必要があります。 -lpthread -lm -ldl
をリンクする方法はわかりませんが、このリンクの意味はわかりません。$ MKLROOT/lib/intel64にlibpthread.aが見つかりません。
どうもありがとう、デビッド。私はこれを試して、それは動作します。私は少しでも実際に必要です。私のコードにはたくさんのライブラリがあり、mklを追加するには 'set(lib_all $ {mkl_libraries} $ {lib_all})'を使い、gmpをリンクするには 'set(lib_all $ {gmp_libraries} $ {lib_all})'を使います。ライブラリを使用する場合は、target_link_libraries(target_name $ {lib_all})を使用します。私は 'm dl pthread'をtarget_link_libraries(target_name $ {lib_all} m dl pthread)の代わりにmkl_librariesに置くことを好みます。 mkl_librariesに 'm dl pthread'を追加する方法はありますか? –
'set(mkl_libraries $ {mkl_libraries} m dl pthread)'を使用してください。 –
あなたのお手伝いをしてくれてありがとうございます。 –