本文介绍了需要将cmake项目链接到dl库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在构建一个使用dlopen和dlsym系统调用的共享库。
编译时出现错误

I am building a shared library that uses the dlopen and dlsym system calls.When I build, I get the error

undefined reference to `dlopen`

我该如何解决?谢谢!

推荐答案

答案很简单:需要告知cmake使用 $ {CMAKE_DL_LIBS}

The answer turns out to be quite simple: cmake needs to be told to link with the DL libs, using ${CMAKE_DL_LIBS} .

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

So, for any target that links with a library that uses dlopen, etc, invoke:

target_link_libraries(MY_TARGET LIB1 LIB2 ... LIBN ${CMAKE_DL_LIBS})

这篇关于需要将cmake项目链接到dl库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-09 05:16