2014-06-12 64 views
1

我試圖編譯QT 5.2.1對於較舊的Linux發行版(的SUSE Linux Enterprise 11),一段時間後,我收到以下錯誤:爲QT 5.2.1編譯錯誤;預計不合格-ID之前的「刪除」

In file included from qxcbxsettings.cpp:46:0: 
/usr/include/X11/extensions/XIproto.h:1825:17: 
    error: expected unqualified-id before 'delete' 
BOOL  delete; 

我更或由於「刪除」是C++的保留字,這個事實引起的信心不足。如果這個頭文件是我自己的,那麼我會簡單地將刪除文件重命名爲其他文件,但是當然這不適用於X11頭文件。
任何想法如何強制gcc編譯爲這個頭爲簡單的C?我發現的所有配置選項都是針對qt配置腳本的配置選項-no-c++11,但這並沒有什麼區別。

+0

您可以給我們的代碼之前和之後'qxcbxsettings.cpp:46' –

回答

0

刪除在C++中保留關鍵字,有錯誤報告了與X11 /擴展/ XIproto.h文件here

它們也爲相同

所以,你需要將補丁程序應用進一步編制提供patch補丁就像

+#if defined(__cplusplus) || defined(c_plusplus) 
+ BOOL  c_delete; 
+#else 
    BOOL  delete; 
+#endif 
相關問題