Ubuntu 18.04 LTS 中基于 QT 的项目的编译错误

Ubuntu 18.04 LTS 中基于 QT 的项目的编译错误

运行 make 时,终端中出现以下错误:

//usr/local/lib/liblua.a(loadlib.o) : 在函数 « lookforfunc » 中 : loadlib.c:(.text+0x576): 警告 : 在静态链接的应用程序中,使用“dlopen”在运行时需要用于链接的 glibc 版本的共享库

/usr/bin/x86_64-linux-gnu-ld : 找不到 -lQt5Widgets
/usr/bin/x86_64-linux-gnu-ld : 找不到 -lQt5Gui
/usr/bin/x86_64-linux-gnu-ld : 找不到 -lQt5Core
/usr/bin/x86_64-linux-gnu-ld : 找不到 -lGL
collect2:错误:ld 返回 1 退出状态

答案1

我确实搜索过packages.ubuntu.com

据此你需要以下包:

  • 编译:

    sudo apt-get install qtbase5-dev libgl1-mesa-dev 
    
  • 在运行时:

    sudo apt-get install libqt5widgets5 libqt5gui5 libqt5core5a libgl1
    

答案2

我通过在项目“.pro”文件中添加这些条目,然后使用 qmake 再次生成 Makefile 解决了这个问题。

这些条目是:
QMAKE_CFLAGS += -no-pie
QMAKE_CXXFLAGS += -no-pie
QMAKE_LFLAGS += -no-pie -fPIC
LIBS += -llua -ldl -L/usr/lib/x86_64-linux-gnu/

相关内容