0

2 日前に、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 を追加して修正した「Selected Thumb mode not supported...」エラーを除いて、かなりうまくいきました。ただし、エラーが発生し続けるため、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 に答える