sammy-621
2022-08-17 05:24 deepin
诗羔羊:
QMake
CONFIG += link_pkgconfig
PKGCONFIG += gl
CMake
find_package(PkgConfig REQUIRED)
pkg_check_modules(GL REQUIRED gl)
include_directories(${GL_INCLUDE_DIRS})
target_link_libraries(${GL_LINK_LIBRARIES})
error: gl development package not found
我把建立的软链接/usr/lib/libGL.so删除,采用你说的方法 ,结果提示以上错误。是我的环境问题吗?
我觉得,你的方法只是告诉配置,要包含相应的库文件,本质上没有解决找不到库文件的问题。不知道是否具有通用性。
Reply Like 0 View the author
某次在终端使用apt 进行软维护时,提示某些软件包不再使用,可以使用autoremove进行清理。当时没多想,就依照提示使用autoremove进行了清理,具体清理了哪些地方的哪些软件包、链接,我也没仔细看。
可能正是由于此次的操作,导至后来在Qt Creator打开以前的项目时,提示:cannot find -lgl。
经过一番资料查找,了解到,其实是libGL.so这个文件无法被Qt Creator调用(应该是/usr/lib/ld 直接调用的libGL.so,确切地说,调用/usr/lib/libGL.so),才导致的这个提示。
libGL.so是个什么东西呢?是跟OpenGL有关的库文件。Deepin系统是应该都有的,执行以下命令查找一下:
查到如下结果:
不仅有,还有好几个版本,但在/usr/lib 目录下,确实没有。没有那就动手建一个软链,执行命令如下:
接下来用Qt Creator打开项目,编译、运行,一切正常,问题得以解决。
如果你也遇到了类似的问题,以上解决思路与过程,希望能帮到你。如果你有更好的解决方案,请在评论区交流。