我一直在試圖編譯syn64k - 用於Executor,運行System's Twilight(我小時候玩過的遊戲)。我在我的macbook pro(最新的Xcode和命令行工具lion 10.7.4)上做了這個。我映射到CC
到gcc -m32
解決我有一對夫婦的問題,但我得到了以下內容:LLVM錯誤構建懷舊兒童遊戲合成CPU
Making all in native/i386
make[2]: Nothing to be done for `all'.
outgoing=;\
gcc -m32 -maccumulate-outgoing-args -c -x c /dev/null 2> /dev/null && outgoing=-maccumulate-outgoing-args; \
gcc -m32 -S -O2 -fomit-frame-pointer -Wall -static -fno-defer-pop -Wno-unused\ -I./include -I./../include -I. -I../include $outgoing syn68k.c -o ./syn68k.s
syn68k.c: In function ‘s68k_handle_opcode_0x07A3’:
syn68k.c:52968: internal compiler error: in EmitLV_DECL, at llvm-convert.cpp:7475
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://developer.apple.com/bugreporter> for instructions.
make[2]: *** [syn68k.o] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1
我到URL,它看起來並不像真正把有關LLVM的bug報告的地方。我的文件'syn68k.c'在預處理器完成後大概有50k行,所以我真的不能做出可重複的測試用例來顯示錯誤。
原來這issue已經在github項目上(這是唯一的問題列出,哈)。 MaddTheSane說這是因爲clang不支持全局寄存器變量(因爲我驗證了here)。
我沒有什麼比你在輸入make
之後編譯如何工作的基本理解更多,那麼有沒有辦法可以跳過clang或類似的東西?你有什麼建議?
這也是我來到的結論;在對clang和LLVM進行了一些額外的研究之後,我瞭解到它是爲了替代gcc,並且'gcc'在我的筆記本電腦上映射到了'llvm-gcc'。每caiustheory.com我已經安裝了gcc並再次嘗試構建。 – JoshRagem 2012-07-06 14:14:44
現在我收到了一個不同的錯誤。這是進步 – JoshRagem 2012-07-06 14:18:26