当大家使用dlopen,dlsym等时可能遇到过下面的错误:
undefined reference todlopen' undefined reference to
dlsym’
undefined reference to `dlclose’
如果是单个的源文件解决方法是:gcc demo.c -ldl就这样直接在gcc最后加上-ldl就可以了,但是如果你遇到的是一个工程,就需要修改CmakeLists.txt文件了,找到add_executable在下面一行添加一句话就可以了。
add_executable(forwarder app/main.cxx)TARGET_LINK_LIBRARIES(forwarder dl)
这里的add_executable是吧main.cxx生成名字为forwarder可执行文件,在这个下面直接添加
TARGET_LINK_LIBRARIES(forwarder dl)
这行代码就可以了,forwarder和上面的名字要一致。