运行Qt Creator出现cannot find -lGL的问题多种解决

    xiaoxiao2023-09-30  158

    运行Qt Creator出现cannot find -lGL的问题的解决 第一种: 如果不依赖openGL,为什么要链接openGL呢?首先在链接参数里加额外-lGL对生成的程序并没有影响,你的程序里没有调用openGL的方法,不会有任何额外的代码链接进去。而Qt是一个跨平台的库,里面包含一些3D的库。要Qt Creator非常智能地根据程序生成依赖,这个有点难,也没必要。所以我觉得作者干脆把这些常用的库都加到链接参数里,一了百了。

    这些预先定好的参数,按平台放在安装目录的mkspecs目录的,比如我的就在opt/Qt5.7.0/5.7/gcc_64/mkspecs。存细看链接参数,你会发现

    -I/opt/Qt5.7.0/5.7/gcc_64/mkspecs/linux-g++这要的路径,这是Qt的跨平台配置。我的机子上,在

    /opt/Qt5.7.0/5.7/gcc_64/mkspecs/common/linux.conf可以找到这样的配置,删除这一句 #QMAKE_LIBS_OPENGL = -lGL**

    qmake configuration for common linux

    QMAKE_PLATFORM += linux

    include(unix.conf)

    QMAKE_CFLAGS_THREAD += -D_REENTRANT QMAKE_CXXFLAGS_THREAD += $$QMAKE_CFLAGS_THREAD QMAKE_LFLAGS_GCSECTIONS = -Wl,–gc-sections

    QMAKE_LFLAGS_REL_RPATH = -Wl,-z,origin QMAKE_REL_RPATH_BASE = $ORIGIN

    QMAKE_INCDIR = QMAKE_LIBDIR = QMAKE_INCDIR_X11 = QMAKE_LIBDIR_X11 = QMAKE_INCDIR_OPENGL = QMAKE_LIBDIR_OPENGL = QMAKE_INCDIR_OPENGL_ES2 = Q M A K E I N C D I R O P E N G L Q M A K E L I B D I R O P E N G L E S 2 = QMAKE_INCDIR_OPENGL QMAKE_LIBDIR_OPENGL_ES2 = QMAKEINCDIROPENGLQMAKELIBDIROPENGLES2=QMAKE_LIBDIR_OPENGL QMAKE_INCDIR_EGL = QMAKE_LIBDIR_EGL = QMAKE_INCDIR_OPENVG = QMAKE_LIBDIR_OPENVG =

    QMAKE_LIBS = QMAKE_LIBS_DYNLOAD = -ldl QMAKE_LIBS_X11 = -lXext -lX11 -lm QMAKE_LIBS_NIS = -lnsl QMAKE_LIBS_EGL = -lEGL QMAKE_LIBS_OPENGL = -lGL QMAKE_LIBS_OPENGL_ES2 = -lGLESv2 QMAKE_LIBS_OPENVG = -lOpenVG QMAKE_LIBS_THREAD = -lpthread

    QMAKE_INCDIR_WAYLAND = QMAKE_LIBS_WAYLAND_CLIENT = -lwayland-client QMAKE_LIBS_WAYLAND_SERVER = -lwayland-server QMAKE_LIBDIR_WAYLAND = QMAKE_DEFINES_WAYLAND = QMAKE_WAYLAND_SCANNER = wayland-scanner

    QMAKE_AR = ar cqs QMAKE_OBJCOPY = objcopy QMAKE_NM = nm -P

    第二种:终端输入sudo apt-get install libgl1-mesa-dev

    最新回复(0)