【发布时间】:2017-01-09 19:30:25
【问题描述】:
在 Windows 上构建 Qt 找到了,但我在 Linux Mint 18 上构建它时遇到了一些问题。我下载了 qt-everywhere-opensource-src-5.7.0.tar.gz 并将其解压缩到 /home/user /Qt-静态/Qt5.7.0/。然后我使用以下命令运行配置:
./configure -platform linux-g++-32 -prefix /home/user/Qt-Static/Qt5.7.0 -static -opensource -confirm-license -opengl desktop -make libs
一开始我遇到了一个错误:
致命错误:bits/c++config.h:没有这样的文件或目录
在网上搜索我发现解决这个问题的方法是安装 gcc-multilib 和 g++-multilib。之后,当我运行配置时,我得到以下输出,其中包含错误“OpenGL 功能测试失败!”
Creating qmake...
.........................................................................................Done.
Running configuration tests...
checking for C++11... yes.
checking for C++14... yes.
checking for C++1z... yes.
checking for default C++ standard edition... yes.
checking for 64-bit std::atomic... yes.
checking for sse2... yes.
checking for sse3... yes.
checking for ssse3... yes.
checking for sse4_1... yes.
checking for sse4_2... yes.
checking for avx... yes.
checking for avx2... yes.
checking for avx512f... yes.
checking for avx512er... yes.
checking for avx512cd... yes.
checking for avx512pf... yes.
checking for avx512dq... yes.
checking for avx512bw... yes.
checking for avx512vl... yes.
checking for avx512ifma... yes.
checking for avx512vbmi... yes.
checking for ipc_sysv... yes.
checking for zlib... no.
checking for mtdev... no.
checking for libjpeg... no.
checking for libpng... no.
checking for libdl... yes.
checking for DB2... no.
checking for InterBase... no.
checking for MySQL (thread-safe)... no.
checking for MySQL (thread-unsafe)... no.
checking for OCI... no.
checking for ODBC... no.
checking for iODBC... no.
checking for PostgreSQL... no.
checking for SQLite2... no.
checking for TDS... no.
checking for NIS... yes.
checking for Cups... no.
checking for POSIX iconv... yes.
checking for D-Bus... no.
checking for libproxy... no.
checking for Glib... no.
checking for ICU... no.
checking for PulseAudio... no.
checking for OpenGL... no.
The OpenGL functionality test failed!
You might need to modify the include and library search paths by editing
QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in
/home/user/Qt-Static/Qt5.7.0/qtbase/mkspecs/linux-g++-32.
在此之后不会生成任何 makefile。搜索此错误时,我发现了许多具有相同问题的问题,以及各种建议的解决方案,但我找不到任何有效的方法。
我对 Linux 一无所知。看来我必须设置QMAKE_INCDIR_OPENGL、QMAKE_LIBDIR_OPENGL 和QMAKE_LIBS_OPENGL,但实际上我不确定将它们设置为什么。
有人可以帮我解决这个问题吗?
【问题讨论】:
-
您是否安装了所有用于构建的 Opengl 库?一般不需要自己设置路径,但是可以在qmake.conf中设置。对我来说,这个错误看起来你还没有安装所有必需的 opengl 包。
-
我安装了 mesa-common-dev、libglu1-mesa-dev 和 libgl1-mesa-dev,但我认为这三个都说,“0 升级,0 新安装”所以他们都似乎与薄荷一起出现。还有什么我需要的吗?