12

我正在尝试用我自己的包构建一个 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

Cmake-Bitbake-QT

4

3 回答 3

18

用 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。

于 2013-10-14T18:24:34.537 回答
16

如果 CMakeLists.txt 使用该install命令,那么 bitbake 将为您完成安装,您无需定义自己的 do_install。

install(TARGETS cameracapture DESTINATION bin)
于 2015-05-07T01:11:26.913 回答
5

在您的配方中添加源目录。

例子 S = "${WORKDIR}/cameracapture

S 是您的 CMakeList.txt 所在的源代码路径。

无论您如何继承配方中的 cmake bbclass,它都会处理所有配置、编译和安装功能。

完成此操作后,您还可以删除上述配方中的 do_configure 函数。

如果有的话,您可以将您的 make 选项添加到下面的宏中(因为您保持为空)。例子

EXTRA_OECMAKE = "all"

于 2013-08-26T12:25:12.830 回答