我正在編譯從源的nexus一個android內核在HTCs developer website上找到。我通過DLing來自android dev站點的android NDK獲得了ARM工具鏈。我能夠運行make clean並且無需事先做出defconfig,但是當我運行make時,在運行編譯器錯誤之前它只會變得非常費勁。交叉編譯爲Android使用NDK失敗,編譯器錯誤
目前我看到下列情況:
$MY_DIR/nexus_one/arch/arm/include/asm/glue.h:156:29: error: '#' is not followed by a macro parameter
有問題的行是:
1 /*
2 * Instruction Fault Status Register. (New register as of ARMv6)
3 * If processor has IFSR then set value, else set translation fault
4 */
5 #if defined(CONFIG_CPU_ABRT_EV7) || defined(CONFIG_CPU_ABRT_EV6)
6 # define CPU_PABORT_IFSR(reg) mrc p15, 0, reg, cr5, cr0, 1 @asm macro;
7 #else
8 # define CPU_PABORT_IFSR(reg) mov reg, #5 @asm macro;
9 #endif
具體而言,線8的上方是什麼軟管編譯器。顯然你不能有第二個#號,但我不確定這個代碼裏發生了什麼,它看起來很重要,所以我不想去碰它。
我猜我正在編譯錯誤的工具鏈也許?或者我可能以某種方式配置了錯誤的東西?有沒有人知道這是什麼?
感謝, 布賴恩
fyi,我已經嘗試過這樣的4個不同的工具鏈,所以我開始認爲特定的交叉編譯器不是問題。我不確定還有什麼要看。 – 2011-06-16 22:22:31