在centos 7上安装Qt 5.11.1开源。我收到以下错误:
qwaylanddisplay.cpp: In member function ‘void QtWaylandClient::QWaylandDisplay::addRegistryListener(QtWaylandClient::RegistryListener, void*)’:
qwaylanddisplay.cpp:315:35: error: could not convert ‘{listener, data}’ from ‘<brace-enclosed initializer list>’ to ‘QtWaylandClient::QWaylandDisplay::Listener’
Listener l = { listener, data };
^
make[3]: *** [.obj/qwaylanddisplay.o] Error 1
make[3]: Leaving directory `/opt/Qt5.11.1/5.11.1/Src/qtwayland/src/client'
make[2]: *** [sub-client-make_first] Error 2
make[2]: Leaving directory `/opt/Qt5.11.1/5.11.1/Src/qtwayland/src'
make[1]: *** [sub-src-make_first] Error 2
make[1]: Leaving directory `/opt/Qt5.11.1/5.11.1/Src/qtwayland'
make: *** [module-qtwayland-make_first] Error 2
这是一个具有初始安装的新系统。我是否缺少图书馆,或者这实际上是Qt的问题?
谢谢, 杰里
答案 0 :(得分:0)
是的,4.8.5-28听起来像是太旧的 gcc 版本。您可能需要更早几步切换到Qt版本。阅读Qt发行说明,了解从5.11开始的版本,以查找开始需要完整C ++ 11的版本。如果您要编写与Centos 7兼容的应用程序,我会坚持使用它提供的任何Qt版本(部署自己所需的文件要少得多)。
但是,如果您想要最新版本,则要么需要安装一个足够新的编译器,要么需要在VM(可能是Virtualbox)或容器(可能是Docker)中运行另一个OS(可能是您最近的Fedora?) ,不过您必须跳过一两个额外的箍才能在屏幕上获得X11 GUI。