0

两天前,我阅读了一些关于如何自编译 cyanogenmod 的指南,我想在我的手机(Galaxy 3 i5800)上试一试。手机的 CPU 架构是 ARMV6,所以我从 androidarmv6.github.io 下载了 CyanogenMod 10.2 源代码,从https://github.com/sdadier/cm10.1_device_samsung_apollo下载了设备文件夹。起初编译非常好,除了一些“不支持选定的拇指模式...”错误,我通过在涉及的 Android.mk 中添加“-marm”CFLAG 来修复这些错误。但是现在我被困在 libhwardware_legacy 编译上,因为我不断收到错误消息:

target thumb C: libhardware_legacy <= hardware/libhardware_legacy/wifi/wifi.c
hardware/libhardware_legacy/wifi/wifi.c: In function 'update_ctrl_interface':
hardware/libhardware_legacy/wifi/wifi.c:473:5: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
hardware/libhardware_legacy/wifi/wifi.c: In function 'wifi_start_supplicant':
hardware/libhardware_legacy/wifi/wifi.c:835:4: error: expected identifier before 'unsigned'
hardware/libhardware_legacy/wifi/wifi.c:895:20: error: dereferencing pointer to incomplete type
hardware/libhardware_legacy/wifi/wifi.c:912:26: error: dereferencing pointer to incomplete type

我在 Google 上搜索了这意味着什么,我在 StackOverflow 和一些 Linux 论坛上发现了很多关于此的主题,但没有一个提到 Android、Cyanogen 或 libhardware_legacy。是不是我的系统有问题?代码中有错误(这里的代码)?

请给我一些建议

4

1 回答 1

0

好的!为了解决这个问题,我删除"const prop_info *pi"并添加了这个:

struct prop_info{
unsigned serial;
};
struct prop_info *pi; 

但我认为如果系统编译它不会启动。但是,由于代码相同,我将尝试从成功编译 CM10.1 的人那里转储 libhardware_legacy。

更新:我可能发现了主要问题。同样的错误再次出现,现在有 7 个,问题是它们在 init 中,所以我无法解决。但是我注意到 wifi.c 和 property_service.c 在共同的 sys/_system_properties.h 中有一个标头,可能主要错误在某处。有人对此有解决方案吗?

于 2013-09-27T13:18:34.480 回答