嗨,我有来自2.14.0.bb?h=master的botan_2.14.0.bb,我已经把它放到我的yocto建筑里了。以下为转数结果:
-rw-r--r-- 2 kjlau kjlau 155436 Jul 7 11:12 libbotan-2-bin-2.14.0-r0.cortexa8hf_neon.rpm
-rw-r--r-- 2 kjlau kjlau 246916 Jul 7 11:12 libbotan-2-doc-2.14.0-r0.cortexa8hf_neon.rpm
-rw-r--r-- 2 kjlau kjlau 16376 Jul 7 11:12 libbotan-2-python3-2.14.0-r0.cortexa8hf_neon.rpm
-rw-r--r-- 2 kjlau kjlau 255764 Jul 7 11:12 libbotan-2-dev-2.14.0-r0.cortexa8hf_neon.rpm
-rw-r--r-- 2 kjlau kjlau 1443276 Jul 7 11:12 libbotan-2-13-2.14.0-r0.cortexa8hf_neon.rpm
-rw-r--r-- 2 kjlau kjlau 19660652 Jul 7 11:13 libbotan-2-dbg-2.14.0-r0.cortexa8hf_neon.rpm我尝试构建一个包含botan头#include 的应用程序,我没有收到这样的文件或目录。下面是botanapp.bb内容
DECRIPTION = "Simple helloworld application"
LICENSE = "CLOSED"
DEPENDS = "botan"
PACKAGES = "${PN} ${PN}-dbg"
SRC_URI = "file://app.cpp"
S = "${WORKDIR}"
CXXFLAGS = "-g -std=gnu++11"
inherit pkgconfig autotools
do_compile() {
${CXX} ${CXXFLAGS} ${LDFLAGS} -I ${includedir}/botan-2/botan ${S}/app.cpp -lbotan-2 -o ${S}/myBotan
}
do_install() {
install -d ${D}${bindir}
install -m 0755 ${WORKDIR}/myBotan ${D}${bindir}
}
FILES_${PN} += " \
${bindir}/myBotan \
"我已经检查了我的植物学配方??植物学的系统根。
$build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/botanapp/1.0-r0/recipe-sysroot/usr/include/botan-2/botan
$ ls botan*
botan.h标题是可用的,我不知道wrong.To我的知识,我需要这样做
g++ app.cpp -I/usr/local/include/botan-2 -lbotan-2在ubuntu中编译僵尸代码。如果我做错了什么,请告诉我。
发布于 2020-07-07 08:46:28
do_compile() {
${CXX} ${CXXFLAGS} ${LDFLAGS} -o ${S}/botanBinary -I ${STAGING_DIR_TARGET}/${includedir}/botan-2 ${S}/app.cpp -lbotan-2
}这对我来说很有用,如果有什么不合理的话,请告诉我。谢谢
发布于 2020-07-07 07:10:18
你需要的是INCDIR。${includedir}是文件在图像中的位置。目标也是如此。
但是根据实际情况,你要求Yocto准备一个包含所有东西的sysroot来构建配方。STAGING_INCDIR正在指向那个sysroot。
例如,可以使用includedir来告诉安装命令将文件放在映像中的位置。
找出其他菜谱是如何做到这一点是相当容易的。源中的grep -r ' -I'将指向使用编译器命令的许多菜谱。
https://stackoverflow.com/questions/62768005
复制相似问题