C++ 将qcharts模块安装到yocto sdk
我试着交叉编译一段时间。我执行以下步骤编译qt程序:C++ 将qcharts模块安装到yocto sdk,c++,qt,yocto,bitbake,qtcharts,C++,Qt,Yocto,Bitbake,Qtcharts,我试着交叉编译一段时间。我执行以下步骤编译qt程序: source/opt/myimage/2.1.2/environment-setup-cortexa9hf-neon-poky-linux-gnueabi qmake-o Makefile areachart.pro 制造 但是当我将QT+=charts添加到任何项目运行qmake-likeqmake-o Makefile areachart.pro时,我遇到了以下错误: 项目错误:QT:图表中的未知模块 以下是qmake-v的输出:
- source/opt/myimage/2.1.2/environment-setup-cortexa9hf-neon-poky-linux-gnueabi
- qmake-o Makefile areachart.pro
- 制造
QT+=charts
添加到任何项目运行qmake-likeqmake-o Makefile areachart.pro时,我遇到了以下错误:
项目错误:QT:图表中的未知模块
以下是qmake-v
的输出:
QMake version 3.0
Using Qt version 5.7.0 in /opt/myimage/2.1.2/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/lib
我应该添加qtcharts
模块来编译示例吗?如果是,怎么做
由于某些原因,我能够使用qtcreator
交叉编译,并获得qt示例和qtchart库本身的二进制文件。我还在目标平台上运行qt示例,将生成的libQtCharts.so
和其他文件手动放入目标平台上的/usr/lib/
和/usr/include/
,我能够在目标平台上绘制图表
然而,我需要的是在我的项目中包括图表,并运行上面提到的qmake
步骤。但是我得到的是项目错误:QT:charts中的未知模块
我试着把libQtCharts.so
放在/opt/myimage/2.1.2/sysroot/cortexa9hf-neon-poky-linux-gnueabi/usr/lib
中手动编译qt源代码,但仍然无法用qmake-o Makefile-areachart.pro
获取make文件,正如您所指出的,您需要qtcharts
包(准确地说,还有qtcharts dev
)在SDK中。您还需要在目标上(即在图像中)安装qtcharts
包,否则在目标上执行二进制文件时,运行库将丢失
软件包的添加取决于构建SDK的方法。首选的方法是populate_SDK
任务,因此我将在这里描述它(它还将软件包添加到您的目标中)
构建SDK的命令是bitbake your_image-c populate_SDK
。将以下行添加到your_image.bb
recipe以将qtcharts
包添加到映像(第1行)和SDK的其他Qt5内容(第2行)
如果您不想直接编辑图像配方,也可以将这些行放入您的_image.bbappend
inherit-populate\u-sdk\u-qt5
对于qt5包是特定的(并且是必需的),因为sdk需要其他东西(例如qt.conf
,一些工具).谢谢。我已经使用了这两种方法将qcharts
添加到我的目标映像中,这样我就可以使用qchart执行二进制文件。但是实际问题没有解决,我认为qcharts仍然没有添加到SDK中。我已经添加了image\u INSTALL\u append=“qtcharts”
到bb文件,然后bitbake myimage-c填充_sdk
最后bitbake myimage
但仍然没有/opt/myimage/./usr/lib中libQt5Chart.so等的痕迹。我做的最后一件事是bitbake meta-toolchain-qt5
并运行生成脚本在/opt/myimage/中安装sdk……我在这里缺少什么?这看起来是一项基本任务在sdk中添加一个新的库/模块。我刚刚注意到我在tmp/deploy/sdk中有两个sdk:myimage-glibc-x86_64-core-image-myimage-cortexa9hf-neon-toolchain-2.1.2.sh
和myimage-glibc-x86_64-meta-toolchain-qt5-cortexa9hf-neon-toolchain-2.1.2.sh
那么我的问题是应该添加qtcharts在meta上添加qtcharts的哪个配方-toolchain-qt5 sdk?因为我需要用qmake here/opt/myimage/2.1.2/sysroot/x86_64-pokysdk-linux/usr/bin/qt5/qmake
@PHA meta-toolchain-qt5编译我的程序,我的答案中的映像安装在这里没有帮助(我看到了你的新问题,我将在周一尝试回答)。您可以检查tmp/deploy/sdk
目录中的xxx.target.manifest
文件吗?它们应该包含qtcharts。如果没有,qtcharts肯定不是新sdk的一部分。如果是,您的sdk安装有问题。@PHA抱歉,我完全忘记了图像r中的继承填充sdk\u qt5
行ecipe。它是基于Qt5的SDK所必需的。我已经检查了我们的Qt5 SDK,没有看到任何其他东西,所以我希望这就是所有。。。
IMAGE_INSTALL += "qtcharts"
inherit populate_sdk_qt5