如何 link in -lpthread -lm -ldl in CMake

How to link in -lpthread -lm -ldl in CMake

我正在尝试将 cmake 用于 link intel mkl 我的代码。来自 mkl link 顾问,我应该 link 图书馆

 -L${MKLROOT}/lib/intel64 -lmkl_intel_lp64 -lmkl_core -lmkl_sequential -lpthread -lm -ldl

然后我编写了一个模块来在 Findmkl.cmake 中查找 mkl_intel_lp64mkl_coremkl_sequential

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")

然后我可以 link 这些库。虽然我不知道如何 link -lpthread -lm -ldl,但我不确定这个 link 是什么意思,我在 $MKLROOT/lib/intel64 中找不到任何 libpthread.a。

每个 Unix 系统上都应该存在这些库。

因此您只需添加:

target_link_libraries(target_name m dl pthread)