需要将cmake项目链接到dl库

Jac*_*cko 5 unix cmake

我正在构建一个使用dlopen和dlsym系统调用的共享库.当我构建时,我得到了错误

undefined reference to `dlopen`
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?谢谢!

Jac*_*cko 18

答案结果很简单:需要告诉cmake使用DL libs链接${CMAKE_DL_LIBS}.

因此,对于与使用dlopen等的库链接的任何目标,请调用:

target_link_libraries(MY_TARGET LIB1 LIB2 ... LIBN ${CMAKE_DL_LIBS})
Run Code Online (Sandbox Code Playgroud)