两天前,我读了一些关于如何自我编译cyanogenmod的指南,我想试试我的手机(Galaxy 3 i5800)。手机的CPU架构是ARMV6所以我从androidarmv6.github.io下载了CyanogenMod 10.2源代码,并从https://github.com/sdadier/cm10.1_device_samsung_apollo下载了设备文件夹。起初编译非常好,除了一些“选择的Thumb模式不支持......”错误,我通过将“-marm”CFLAG添加到涉及的Android.mk来修复。但是现在我停留在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
我在谷歌搜索了这意味着什么,我在StackOverflow和一些Linux论坛上找到了很多关于此的帖子,但没有一个提到Android,Cyanogen或者libhardware_legacy。这是我系统的问题吗?代码中存在错误(code here)?
请给我一些建议
答案 0 :(得分:0)
OK!为解决此问题,我删除了"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中有一个标题,可能主要的错误是在某处。有人有解决方案吗?