Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ qdir.h与x.h(X11)冲突:如何解决?_C++_Qt_X11 - Fatal编程技术网

C++ qdir.h与x.h(X11)冲突:如何解决?

C++ qdir.h与x.h(X11)冲突:如何解决?,c++,qt,x11,C++,Qt,X11,我试图在一个使用QDir的项目中使用QFileDialog。仅包含该文件会导致编译错误(Qt版本为4.8.5): 我检查了qdir.h,有一个右括号。但是错误表明,X.h中的#define和enum元素之间存在冲突。我发现了一个8年前的bug报告(),它建议在X11头之前包含Qt头。因为我自己没有包含X.h,而是针对X11进行链接,所以我很确定它在这里不适用 这就留下了如何解决这一冲突的问题?非常感谢您的帮助。如果可能,请更改包含的顺序,或者在包含qdir.h之前进行未排序的取消定义,以清理x.

我试图在一个使用QDir的项目中使用QFileDialog。仅包含该文件会导致编译错误(Qt版本为4.8.5):

我检查了qdir.h,有一个右括号。但是错误表明,X.h中的#define和enum元素之间存在冲突。我发现了一个8年前的bug报告(),它建议在X11头之前包含Qt头。因为我自己没有包含X.h,而是针对X11进行链接,所以我很确定它在这里不适用


这就留下了如何解决这一冲突的问题?非常感谢您的帮助。

如果可能,请更改包含的顺序,或者在包含qdir.h之前进行未排序的取消定义,以清理x.h的混乱情况

是的。最后总是包含X个标题。
In file included from file.qt.cpp:25:
In file included from another_file.qt.h:26:
In file included from /usr/include/QtCore/QDir:1:
/usr/include/QtCore/qdir.h:107:21: error: expected '}'
               Unsorted    = 0x03,
               ^
/usr/include/X11/X.h:540:19: note: expanded from macro 'Unsorted'
#define Unsorted                0
                                ^
/usr/include/QtCore/qdir.h:104:19: note: to match this '{'
    enum SortFlag { Name        = 0x00,
                  ^
[... some more errors, but I think these are related to the above error ...]


6 errors generated.
make[2]: *** [CMakeFiles/Volume2.dir/OGLFrame.qt.cpp.o] Error 1
make[1]: *** [CMakeFiles/Volume2.dir/all] Error 2
make: *** [all] Error 2