我正在尝试用自己的包构建一个yocto图像。我在github上使用cmake的OpenCV代码。
我试图为它编写一个配方并面临很多错误。任何人都可以提供一些关于我的食谱中包含哪些功能或参数的提示。我的食谱看起来如下
DESCRIPTION = "cameracapture application"
SECTION = "examples"
LICENSE = "CLOSED"
PR = "r0"
DEPENDS += "opencv"
SRC_URI = "git://https://github.com/zafrullahsyed/cameracapture.git;protocol=https;tag=v0.1"
EXTRA_OECMAKE=""
do_configure() {
cmake ../
}
inherit pkgconfig cmake
我按照这些教程用cmake写了我的食谱但是徒劳无功: Bitbake Player recipe
答案 0 :(得分:13)
使用cmake编写自己的食谱的正确方法如下:
DESCRIPTION = "cameracapture application"
SECTION = "examples"
LICENSE = "CLOSED"
PR = "r0"
DEPENDS = "opencv"
SRC_URI = "git://github.com/zafrullahsyed/cameracapture.git;protocol=https;tag=v0.1"
S = "${WORKDIR}/git"
inherit pkgconfig cmake
do_install() {
install -d ${D}${bindir}
install -m 0755 cameracapture ${D}${bindir}
}
以前我没有添加do_install
,这就是yocto下载配方但无法将其包含在Image中的原因。
答案 1 :(得分:11)
如果CMakeLists.txt使用install
命令,那么bitbake将为您安装,您不需要定义自己的do_install。
install(TARGETS cameracapture DESTINATION bin)
答案 2 :(得分:2)
在食谱中添加源目录。
示例
S = "${WORKDIR}/cameracapture
S是CMakeList.txt。
的源代码路径您在配方中继承cmake bbclass的方式,因此它将负责所有配置,编译和安装功能。
执行此操作后,您也可以删除上述配方中的do_configure函数。
你可以将你的make选项添加到下面的宏中(因为你保持为空)。 示例
EXTRA_OECMAKE = "all"