在Linux ARM上编译没有GUI支持的Qt5

时间:2014-06-17 13:18:48

标签: c++ linux qt arm qt5

由于OpenGL依赖关系(即OpenGL ES2),我在Cortex-A9主板上没有GUI元素的情况下遇到麻烦。我正在运行Ubuntu 14.04 rootfs。

有没有办法从git存储库开始禁用GUI类的生成? (目标版本5.3)。 我需要的唯一模块是QtCore,QtXML和QtWebSockets / QtNetwork

3 个答案:

答案 0 :(得分:3)

以下似乎可以使用LinuxFB驱动程序编译Qt5而不使用OpenGL。

./configure -qpa linuxfb -no-largefile -opensource -verbose -release \
 -no-accessibility  -confirm-license -no-sse -no-sse2 \
 -qt-zlib -qt-libpng -nomake examples -nomake demos -nomake docs -nomake tests \
 -make libs --prefix=/usr -no-pch -no-iconv -no-nis -no-xkb -no-xshape \
 -no-xvideo -no-xsync -no-xinerama -no-xcursor -no-xfixes -no-xrandr -no-kms \
 -no-directfb -no-eglfs -no-xcb -no-dbus -no-icu -no-cups -no-gif \
 -no-accessibility -no-opengl -nomake quick -make quick1  \
 -skip multimedia -skip webkit -nomake webkit -no-pkg-config \
 -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci \
 -no-sql-odbc -no-sql-psql -no-sql-sqlite -no-sql-sqlite2 \
 -no-sql-sqlite_symbian -no-sql-tds -nomake tools \
 -device linux-custom-g++ -device-option CROSS_COMPILE=$TGT_TOOL_NAME-

键是 -no-opengl -nomake quick 。 QtQuick2将引入OpenGL。

似乎我必须做以下事情,

touch module_qtwebkit-make_first

这会阻止构建系统尝试创建 QtWebKit ;它似乎越野车。这仍然有GUI类,但不能链接到它们。那是在普通make之前。对于安装目标,

touch module_qtwebkit-install_subtargets

是必需的。后来的Qt5版本可能修复了QtWebkit构建问题。

答案 1 :(得分:1)

Ubuntu团队自己宣称Qt5.3。目前仍在调查armhf平台,可能会从14.10发布。 不知何故,在Qt论坛上爬行时,如果没有OpenGL / GUI模块,就会缺少依赖项并编译错误。

我决定从存储库安装1t 5.2.1,然后从git存储库安装缺少的QWebSocket模块。

为了使这个模块与旧的Qt版本兼容,文件.qmake.conf:

MODULE_VERSION = 5.3.2 --> to desired one (i.e. 5.2.1)

答案 2 :(得分:1)

似乎至少Qt 5.6.2支持-no-gui-no-widgets配置选项。