1. 程式人生 > >Android編譯筆記

Android編譯筆記

在kernel下的make menuconfig中禁用es8323

在kernel中執行make  -j8  firefly-rk3288.img 報錯顯示如下

看了Kconfig menuconfig .config Makefie 的關係後,依然毫無頭緒,順便貼一下網上看到的四者的關係

Makefile裡面的條件編譯是由.config中的巨集決定的,而.config中的巨集是否被註釋又是有make menuconfig中選擇決定的,而make menuconfig中的是否存在這個配置選項則是由Kconfig決定的,由此串聯起來了四者的關係(就目前來說,Makefile和.config的關係沒搞明白)

根據報錯資訊sound/built-in.o: In function `snd_stop_hdmi_in_audio_route_l.part.2': last.c:(.text+0x42c98): undefined reference to `es8323_codec_set_reg' sound/built-in.o: In function `snd_start_hdmi_in_audio_route_l.part.3': last.c:(.text+0x42d14): undefined reference to `es8323_codec_set_reg' make: *** [vmlinux] Error 1

搜了一下有在下圖的兩個檔案裡感覺無意義,先捨棄了

在menuconfig的搜尋了es8832中的結果,進入目錄kernel/soun/soc/rockchip開啟Kconfig檔案,找到了config SND_RK_SOC_ES8323是打算註釋掉這個選項先試試