2017-01-09 70 views
0

在Windows上構建Qt時發現了,但我在Linux Mint 18上構建它時遇到了一些問題。我下載了qt-everywhere-opensource-src-5.7.0。 tar.gz並將其提取到/home/user/Qt-Static/Qt5.7.0/。然後我跑配置與下面的命令:在Linux Mint上編譯Qt - OpenGL功能測試失敗

./configure -platform linux-g++-32 -prefix /home/user/Qt-Static/Qt5.7.0 -static -opensource -confirm-license -opengl desktop -make libs 

起初,我得到了一個錯誤:

fatal error: bits/c++config.h: No such file or directory

搜索網上我找到了解決方案,這是安裝gcc-multilib的和g ++ - multilib的。在此之後,當我運行configure時,我得到下面的輸出,其中包含錯誤「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. 

之後,沒有生成生成文件。尋找這個錯誤我發現了一些問題,並提出了相同的問題,並提出了各種建議的解決方案,但是我找不到任何可行的方法。

對於Linux,我完全無能爲力。看起來我必須設置QMAKE_INCDIR_OPENGL,QMAKE_LIBDIR_OPENGLQMAKE_LIBS_OPENGL,但我不確定要設置它們。

有人能幫我解決這個問題嗎?

+0

您是否安裝了用於建築的所有Opengl庫?一般來說,你不需要自己設置路徑,但是你可以在qmake.conf中這樣做。對我來說,這個錯誤看起來你沒有安裝所有需要的opengl包。 – user3606329

+0

我安裝了mesa-common-dev,libglu1-mesa-dev和libgl1-mesa-dev,但是我認爲對於所有三個版本來說,「0升級,0新安裝」,因此它們都顯示爲Mint。還有什麼我需要的嗎? – Assoluto

回答

0

我發現從我的配置參數中刪除-opengl desktop解決了這個問題。

在windows上,我需要使用-opengl desktop或者我得到了OpenGL ES錯誤消息。當我在Linux上運行配置時,我使用了相同的命令,只是更改了-platform和-prefix參數,因此-opengl桌面仍然存在。我忘記了它在那裏,但是當我注意到我嘗試刪除它並且工作時,所以Qt現在正在編譯。謝謝您的幫助。

+0

嗨,我遇到了和你一樣的問題。我使用的是Ubuntu 16.04,我無法理解你如何刪除-opengl桌面。你能提供調試這個問題的具體步驟嗎?謝謝。 – Senyokbalgul

+0

對不起,我剛看到這個。這可能太晚了,但我會解釋。爲了讓Qt在Windows上編譯,我不得不使用'-opengl desktop',因爲沒有它我得到了OpenGL ES錯誤。在Linux上編譯Qt時,我大多使用與Windows上相同的配置參數,但這導致了我在初始文章中描述的錯誤。我最終將問題追蹤到'-opengl desktop'開關,所以我從Linux的配置參數中排除了這個問題。因此,除了未指定''-opengl desktop''外,您無需執行任何操作。因此,我懷疑你的問題可能會有所不同。 – Assoluto