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 在调试而不是汇编时显示“正常”代码?