如何使用 sbuild 为 armhf 交叉编译 Qt 包?

如何使用 sbuild 为 armhf 交叉编译 Qt 包?

我有一个 Qt 应用程序,我想为 armhf 进行交叉编译。我使用以下命令设置了 sbuild chroot:

mk-sbuild --target armhf trusty

但是,当我运行debuild -S并尝试构建包时,遇到以下错误:

$ sbuild --build=amd64 --host=armhf -d trusty myapp_1.0.dsc

...

   dh_auto_configure -a
qmake: could not find a Qt installation of ''
dh_auto_configure: qmake -makefile -nocache QMAKE_CFLAGS_RELEASE=-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 QMAKE_CFLAGS_DEBUG=-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 QMAKE_CXXFLAGS_RELEASE=-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 QMAKE_CXXFLAGS_DEBUG=-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 QMAKE_LFLAGS_RELEASE=-Wl,-Bsymbolic-functions -Wl,-z,relro QMAKE_LFLAGS_DEBUG=-Wl,-Bsymbolic-functions -Wl,-z,relro QMAKE_STRIP=: PREFIX=/usr returned exit code 1
make: *** [build-arch] Error 2
dpkg-buildpackage: error: debian/rules build-arch gave error exit status 2

我究竟做错了什么?

答案1

有一个 bug“Cross qmake to the chroots”,我在 Ubuntu SDK 中使用 armhf chroots 时也遇到了这个 bug:

https://bugs.launchpad.net/ubuntu/+source/click/+bug/1393697

因此,我改用 CMake 而不是 qmake。

相关内容