编译 Android Oreo ROM 时出现问题。 “C_INCLUDES 必须位于源下......”

问题描述 投票:0回答:3

我正在尝试使用此设备树构建 Android Oreo:https://github.com/BirdSanctuary/device_xiaomi_mido。在我开始编译后不久,我出现以下错误

build/core/binary.mk:1459: error: device/xiaomi/mido/camera/QCamera2/Android.mk: camera.msm8953: C_INCLUDES must be under the source or output directories: /libstagefrighthw /mm-core/inc /libqservice.

有什么解决办法吗?

android android-source
3个回答
2
投票

打开device/xiaomi/mido/camera/QCamera2/Android.mk并查找

LOCAL_C_INCLUDES += \
        $(SRC_DISPLAY_HAL_DIR)/libqservice

SRC_DISPLAY_HAL_DIR
未在文件系统根目录中的任何操作系统中定义
/libqservcie
而不是像这样的地方:

./hardware/qcom/display/msm8909/libqservice
./hardware/qcom/display/msm8084/libqservice
./hardware/qcom/display/msm8994/libqservice
./hardware/qcom/display/msm8998/libqservice
./hardware/qcom/display/msm8226/libqservice
./hardware/qcom/display/msm8960/libqservice
./hardware/qcom/display/msm8996/libqservice

如您所见,您有许多不同的 HAL 模块的硬件选项。我不知道你需要哪一个。 您需要在 device/ 中的某个位置为您的供应商和主板特定文件定义它。

同样的故事适用于您的错误打印输出“喊叫”的其余目录。

您在 Android.mk 中未定义 make 变量


0
投票

通常 Android 源代码包含不同的目标变体。

因此,您需要在开始构建之前选择一个。

这是设置。

第 1 步:使用 /build/envsetup.sh 中的 envsetup.sh 脚本初始化环境

源构建/envsetup.sh

第 2 步:选择午餐时要建立的目标。

午餐产品名称-构建变体

示例:

午餐 aosp_arm-eng

如果您不知道构建变体/目标变体,只需输入

lunch
命令,它将列出所有可以构建的可用变体。

第 3 步:现在开始构建。

制作-j16

注意:每次重启都需要遵循上述步骤。


0
投票

像这样使用 LOCAL_C_INCLUDES += $(LOCAL_PATH)../../to/header/file/path/

请勿使用直接路径。

© www.soinside.com 2019 - 2024. All rights reserved.