在 Android make 期间无法编译 libusbx
Failed to compile libusbx during Android make
我正在尝试为我的设备编译 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'
最后,我通过将其添加到 .repo/local_manifests/local_manifests.xml 和回购同步解决了这个问题。我认为这些不是必需的,因为我使用 ./extract-files.sh 从我的 phone 中提取了 propetierary blob,但事实并非如此。我的坏..还有,破坏并重新构建。
<?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>
P.S。另外,对于未来的读者,请确保创建一个 4 GB 或更大的交换文件,因为构建过程会占用大量内存,尤其是构建 libwebviewchromium.so.
我正在尝试为我的设备编译 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'
最后,我通过将其添加到 .repo/local_manifests/local_manifests.xml 和回购同步解决了这个问题。我认为这些不是必需的,因为我使用 ./extract-files.sh 从我的 phone 中提取了 propetierary blob,但事实并非如此。我的坏..还有,破坏并重新构建。
<?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>
P.S。另外,对于未来的读者,请确保创建一个 4 GB 或更大的交换文件,因为构建过程会占用大量内存,尤其是构建 libwebviewchromium.so.