0

我正在尝试为我的设备编译 CM 12.1。在构建时,我得到以下错误。我也安装了 libusb-1.0-0-dev。我错过了什么?

如果我只用 cflags 编译 1 个文件,我可以获得 .o 文件,但是在构建整个代码时,我如何指定 Make 文件才能工作。

使用 gcc:(成功)

gcc external/libusbx/examples/listdevs.c -o out/target/product/bacon/obj/EXECUTABLES/listdevs_intermediates/listdevs.o `pkg-config --libs --cflags libusb-1.0`

使用 Android make :(失败)

   external/libusbx/android/jni/../../examples/listdevs.c:22:20: fatal error: libusb.h: No such file or directory

 #include "libusb.h"

compilation terminated.
build/core/binary.mk:699: recipe for target '/home/risingup/CM12.1/out/target/product/bacon/obj/EXECUTABLES/listdevs_intermediates/../../examples/listdevs.o' failed
make: *** [/home/risingup/CM12.1/out/target/product/bacon/obj/EXECUTABLES/listdevs_intermediates/../../examples/listdevs.o] Error 1
make: *** Deleting file '/home/risingup/CM12.1/out/target/product/bacon/obj/EXECUTABLES/listdevs_intermediates/../../examples/listdevs.o'
4

1 回答 1

0

最后,我通过将其添加到 .repo/local_manifests/local_manifests.xml 和 repo 同步来解决了这个问题。我认为这些不是必需的,因为我使用 ./extract-files.sh 从手机中提取了属性 blob,但事实并非如此。我的坏..而且,制作clobber并再次构建。

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="TheMuppets/proprietary_vendor_oppo" path="vendor/oppo" remote="github" revision="cm-12.1" />
<project name="TheMuppets/proprietary_vendor_oneplus" path="vendor/oneplus" remote="github" revision="cm-12.1" />
</manifest>

PS 同样对于未来的读者,请确保创建 4 GB 或更大的交换文件,因为构建过程需要大量内存,尤其是构建 libwebviewchromium.so。

于 2015-08-25T19:05:14.123 回答