CMake在yocto环境中不会找到find_path,但会在yocto之外使用相同的repo和cmake

时间:2018-03-05 13:19:14

标签: cmake yocto

我无法在Yocto中获得配方。

你唯一需要知道的是,Yocto是否为构建设置了sysroots和其他环境变量(PKG_CONFIG_PATH,PATH,编译器标志等)。

Here是Yocto构建期间使用的printenv的输出。这里的某些内容导致CMake中的find_path失败。

这是失败的一点。

find_path( MFX_INCLUDE mfxdefs.h PATHS ${MFX_API_HOME}/include )

在交叉环境中,MFX_INCLUDE设置为MFX_INCLUDE-NOTFOUND。在我的本地非交叉环境中,它(正确)设置为/home/pknopf/git/MediaSDK/api/include,因为它正确地找到了mfxdefs.h

关于为什么我的find_path命令会调用一个而不是另一个命令的任何想法?

顺便说一下,我的本地机器正在使用CMake 3.5.1(工作),而Yocto正在使用3.7.2(不工作)。

我觉得它与Yocto设置的环境变量有关,但我不确定是哪一个。

编辑:为了使事情更加清晰,以下内容无效。

find_path( MFX_INCLUDE mfxdefs.h PATHS /home/pknopf/git/x3/abrarecipes/build/tmp/work/corei7-64-poky-linux/msdk/git-r0/git/api/include)

这导致:

MFX_INCLUDE-NOTFOUND

以下是/home/pknopf/git/x3/abrarecipes/build/tmp/work/corei7-64-poky-linux/msdk/git-r0/git/api/include的内容:

ls -l /home/pknopf/git/x3/abrarecipes/build/tmp/work/corei7-64-poky-linux/msdk/git-r0/git/api/include
total 220
-rw-r--r-- 1 1000 1000  4320 Mar  2 15:24 mfxastructures.h
-rw-r--r-- 1 1000 1000  2979 Mar  2 15:24 mfxaudio.h
-rw-r--r-- 1 1000 1000  4966 Mar  2 15:24 mfxaudio++.h
-rw-rw-r-- 1 root root  4639 Mar  2 16:03 mfxbrc.h
-rw-r--r-- 1 1000 1000  4876 Mar  2 15:24 mfxcommon.h
-rw-rw-r-- 1 root root  6596 Mar  2 16:03 mfxdefs.h
-rw-r--r-- 1 1000 1000  7433 Mar  2 15:24 mfxdispatcherprefixedfunctions.h
-rw-r--r-- 1 1000 1000  2477 Mar  2 15:24 mfxenc.h
-rw-r--r-- 1 1000 1000 15517 Mar  2 15:24 mfxfei.h
-rw-rw-r-- 1 root root  6529 Mar  2 16:03 mfxfeihevc.h
-rw-r--r-- 1 1000 1000  2519 Mar  2 15:24 mfxjpeg.h
-rw-r--r-- 1 1000 1000  2604 Mar  2 15:24 mfxla.h
-rw-r--r-- 1 1000 1000  2533 Mar  2 15:24 mfxmvc.h
-rw-r--r-- 1 1000 1000  2540 Mar  2 15:24 mfxpak.h
-rw-rw-r-- 1 root root 11116 Mar  2 16:03 mfxplugin.h
-rw-r--r-- 1 1000 1000 28017 Mar  2 15:24 mfxplugin++.h
-rw-r--r-- 1 1000 1000  2136 Mar  2 15:24 mfxsession.h
-rw-rw-r-- 1 root root 50908 Mar  2 16:03 mfxstructures.h
-rw-r--r-- 1 1000 1000  5768 Mar  2 15:24 mfxvideo.h
-rw-r--r-- 1 1000 1000 10110 Mar  2 15:24 mfxvideo++.h
-rw-r--r-- 1 1000 1000  2175 Mar  2 15:24 mfxvp8.h
-rw-r--r-- 1 1000 1000  1147 Mar  2 15:24 mfxvstructures.h

如你所见,mfxdefs.h绝对是......

EDIT2 :使用NO_CMAKE_FIND_ROOT_PATH修复它。不知道为什么,现在看文档。

0 个答案:

没有答案