如何修复CMake项目中'未定义的对dlopen的引用`?[duplicate]

yizd12fk  于 2022-11-24  发布在  其他
关注(0)|答案(1)|浏览(238)

此问题在此处已有答案

Need to link cmake project to dl library(1个答案)
昨天关门了。
错误:

Linking CXX executable cmakeproject
 CMakeFiles/cmakeproject.dir/main.cpp.o: In function `main':
 main.cpp:(.text+0x1a): undefined reference to `dlopen'
 main.cpp:(.text+0x2a): undefined reference to `dlclose'
 collect2: ld returned 1 exit status
 make[2]: *** [testlink] Error 1
 make[1]: *** [CMakeFiles/cmakeproject.dir/all] Error 2
 make: *** [all] Error 2

我询问如何在CMake项目中修复此问题,因为有多个类似的问题和答案,但它们不使用CMake:

如果我使用CMake,如何修复此问题?

lb3vh1jj

lb3vh1jj1#

溶液

${CMAKE_DL_LIBS}链接到您的target

target_link_libraries(<target> ${CMAKE_DL_LIBS})

如何找到解决方案

如果你谷歌dlopen和滚动一点,你可能会发现CMAKE_DL_LIBS页在CMake文档

CMAKE_DL_LIBS(四个月前)

包含dlopendlclose的库的名称。
包含dlopendlclose的库的名称,在大多数UNIX计算机上通常为-ldl

相关问题