2

这是问题所在:msm_camera.h 存在于以下路径中

  1. ./external/kernel-headers/original/media/
  2. ./bionic/libc/kernel/common/media/
  3. ./prebuilt/ndk/android-ndk-r4/platforms/android-8/arch-x86/usr/include/media/
  4. ./内核/包括/媒体/

当我尝试构建错误时,会抛出一些诸如“MSM_PMEM_VIDEO_VPE”之类的定义不存在。当它们存在于其中一条路径中时,例如。./external/kernel-headers/original/media/

所以,我想知道一个 C 源文件什么时候正在编译,并且它以这种方式添加了头文件:

#include <media/msm_camera.h>

如何确定从哪个路径中选择标头?是来自选项 1、2、3 还是 4?

构建日志似乎也无济于事。我不想在数百个文件中添加绝对路径,因为这绝对不是正确的方法。

提前致谢!

4

1 回答 1

0

根本问题在于,Android 平台与芯片供应商在内核中提供的软件接口不同步。msm_camera.h 是原始头文件之一,并在 Android 版本中发生了变化。“MSM”表示头文件支持的供应商芯片组。

不是最好的解决方案,但你能让内核头文件包含路径在其他文件之前吗?

于 2013-02-19T23:31:56.910 回答