![如何使用 sbuild 为 armhf 交叉编译 Qt 包?](https://linux22.com/image/979521/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20sbuild%20%E4%B8%BA%20armhf%20%E4%BA%A4%E5%8F%89%E7%BC%96%E8%AF%91%20Qt%20%E5%8C%85%EF%BC%9F.png)
我有一个 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。