Ubuntu 14 中 QtCreator [Yocto Image] 的交叉编译错误

Posted

技术标签:

【中文标题】Ubuntu 14 中 QtCreator [Yocto Image] 的交叉编译错误【英文标题】:Cross compilation error with QtCreator [Yocto Image] in Ubuntu 14 【发布时间】:2017-05-25 17:30:01 【问题描述】:

Qt Creator 给出这个库错误:

11:13:12: Running steps for project qtConsoleTest...
11:13:12: Starting: "/usr/bin/make" clean
rm -f main.o
rm -f *~ core *.core
11:13:12: The process "/usr/bin/make" exited normally.
11:13:12: Configuration unchanged, skipping qmake step.
11:13:12: Starting: "/usr/bin/make" 
g++ -c -pipe -g -std=gnu++0x -Wall -W -D_REENTRANT -fPIC -DQT_QML_DEBUG -DQT_CORE_LIB -I../qtConsoleTest -I. -isystem /opt/fsl-imx-x11/4.1.15-2.0.1/sysroots/cortexa7hf-neon-poky-linux-gnueabi/usr/include/qt5 -isystem /opt/fsl-imx-x11/4.1.15-2.0.1/sysroots/cortexa7hf-neon-poky-linux-gnueabi/usr/include/qt5/QtCore -I. -I/opt/fsl-imx-x11/4.1.15-2.0.1/sysroots/cortexa7hf-neon-poky-linux-gnueabi/usr/lib/qt5/mkspecs/linux-g++ -o main.o ../qtConsoleTest/main.cpp
g++  -o qtConsoleTest main.o   -lQt5Core -lpthread 
/usr/bin/ld: cannot find -lQt5Core
collect2: error: ld returned 1 exit status
make: *** [qtConsoleTest] Error 1
11:13:13: The process "/usr/bin/make" exited with code 2.
Error while building/deploying project qtConsoleTest (kit: ce3TunnelBoard)
When executing step "Make"
11:13:13: Elapsed time: 00:01.

基于Question,我认为我的问题是 Qt 版本下的 QMAKE_SPEC 和 QMAKE_XSPEC 应该显示 linux-oe-g++(而不是 linux-g++),但我不知道如何更改它。我错过了任何步骤吗?

我已经 bitbaked Qt5 SDK,我还在“/opt/Qt5.8.0/Tools/QtCreator/bin/qtcreator.sh”中通过在顶部添加以下内容来获取环境:

source /opt/fsl-imx-x11/4.1.15-2.0.1/environment-setup-cortexa7hf-neon-poky-linux-gnueabi

并分别在Debuggers, Compilers & Qt Versions下配置如下选项:

/opt/fsl-imx-x11/4.1.15-2.0.1/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gdb
/opt/fsl-imx-x11/4.1.15-2.0.1/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++
/opt/fsl-imx-x11/4.1.15-2.0.1/sysroots/x86_64-pokysdk-linux/usr/bin/qt5/qmake

这些是截图以防万一。

任何帮助。

【问题讨论】:

【参考方案1】:

您的最后一个屏幕截图显示了一个标记为 Qt mkspec 的文本条目。您应该在此处输入 linux-oe-g++ 以覆盖 c3TunnelBoard 套件的默认值 linux-g++。有关如何设置 QtCreator 以与 Yocto 工具链一起使用的更多信息,请参阅 this link。

【讨论】:

以上是关于Ubuntu 14 中 QtCreator [Yocto Image] 的交叉编译错误的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Ubuntu 14.04 上的 QT creator 中使用 Boost 库

如何在 Ubuntu 中从控制台运行 Qt Creator?

如何使 QtCreator 在调试而不是汇编时显示“正常”代码?

Qt Creator 4.0.2 和 Beaglebone Black 与 Ubuntu 16.04.3

Qwt 版本冲突 QTCREATOR

Ubuntu 14.04 上的 QT 应用程序