当前位置:   article > 正文

Linux 动态库 undefined symbol 原因定位与解决方法_linux undefined symbol

linux undefined symbol

经验分享

报错现象

  1. undefined symbol: __glewBindBuffer (./libA.so)
  2. undefined symbol: __glewBufferData (./libA.so)
  3. undefined symbol: __glewGenBuffers (./libA.so)
  4. undefined symbol: __glewBufferSubData (./libA.so)

原因

环境:linux下,catkin_make编译, 

问题出在A程序,A调用B库,B调用C库,原来A是直接通过源码调用C, 现在为了解偶,在A中通过B库调用C库,导致C库中符号找不到

解决方法

在A程序的CMakeLists.txt中直接加入C库

  1. # GL or GLEW
  2. include_directories(SYSTEM ${CMAKE_HOME_DIRECTORY}/path-to/glew/18.04/include)
  3. link_directories(${CMAKE_HOME_DIRECTORY}/path-to/glew/18.04/${LIBDIR})
  4. set(GL_LIBS GL GLEW)
  5. target_link_libraries(${PROJECT_NAME}_ref
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/935845
推荐阅读
相关标签
  

闽ICP备14008679号