我有 yocto 开发环境设置,我可以在其中进行 bitbake 并在目标中运行一个简单的 C++ 应用程序。现在我想尝试使用简单的 Qt 应用程序。当我执行 bitbake-layers show-layers 时,它会在列表中显示 meta-qt5...
meta-qt5
/home/prc1cob/repo/out/salt/kawa/../../..//os/external/meta-qt5 7 meta-oe
/home/prc1cob/repo/out/salt/kawa/../../../build/yocto/meta-openembedded/meta-oe 6
有了这个,我假设 qt5 已经存在于我的 yocto 版本中。 如何编写 .bb 文件来构建一个简单的 HelloWorld qt 应用程序,如下所示...
#include <QCoreApplication>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
qDebug() << "Hello World";
return a.exec();
}
谢谢!!
最佳答案
Yocto 提供了一个很棒的类 qmake5
来编译基于 QMake 的 QT 项目。
为了使用它,为项目创建一个 .pro
文件:
qtexample.pro
QT += core
SOURCES += qtexample.cpp
qtexample.cpp
#include <QCoreApplication>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
qDebug() << "Hello World";
return a.exec();
}
现在,在您的层中,您可以添加一个编译该项目的简单配方。
例如:meta-custom/recipes-project/qtexample
在qtexample
文件夹中创建files
文件夹并将qtexample.pro
和qtexample.cpp
复制到其中。
在qtexample
文件夹中直接创建qtexample_0.1.bb
配方:
SUMMARY = "QT Example Recipe"
LICENSE = "CLOSED"
SRC_URI = "file://qtexample.pro \
file://qtexample.cpp"
DEPENDS += "qtbase"
RDEPENDS_${PN} += "qtwayland"
S = "${WORKDIR}"
inherit qmake5
您可以更改当然的版本(0.1)。
布局应如下所示:
meta-custom/
├── recipes-project/
├── qtexample_0.1.bb
└── files/
├── qtexample.pro
└── qtexample.cpp
然后,bitbake qtexample
应该可以工作并创建一个 qtexample
二进制文件,您可以在 ${WORKDIR}
中找到该二进制文件
关于qt - 如何使用 yocto 构建简单的 qt 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68895012/