2013-10-11 78 views
0

我試着用gcc 4.6.3編譯ARM的tcc。但我得到了以下錯誤而編譯在這兩個共享/靜態庫MOD:在Ubuntu上爲arm編譯TCC的問題

[email protected]:/p/tcc/tcc# make 
gcc -o tcc tcc.o libtcc.so.1.0 -lm -ldl -Wall -g -O2 -fno-strict-aliasing -Wno-pointer-sign -Wno-sign-compare -D_FORTIFY_SOURCE=0 -Wl,-rpath,"/usr/local/lib" libtcc.so.1.0: undefined reference to `vrotb' 
collect2: ld returned 1 exit status 
make: *** [tcc] Error 1 

我使用最新的分支從TCC github上

+0

哪個庫?有這麼多的叉子......還有,'uname -a'是什麼? – keltar

+0

repo:https://github.com/TinyCC/TinyCC and uname -a:Linux localhost 3.0.89-K^Kernel_JB-4.1.2_OC_UV_370MB +#2 PREEMPT Mon Aug 5 00:42:04 CEST 2013 armv7l armv7l armv7l GNU/Linux –

+0

看起來沒問題。你可以運行'make clean','。/ configure'然後'make'並提供完整的輸出嗎? – keltar

回答

2

剛纔檢查它樹莓PI(ARMv6的CPU)。 https://github.com/TinyCC/TinyCC存儲庫,從tccgen.c中的vrotb函數中刪除static限定符(第945行)。它建立並傳遞'你好世界'。

由於這是一個明顯的錯誤,可能會引入一些他們忘了適應ARM的改變 - 我建議進行進一步的測試以確保其按預期工作。應該提交錯誤報告 - 可能在github上。

0

我知道這是有點混亂,但你的問題是,你正在使用錯誤的存儲庫。 Fabrice Bellard在TinyCC上不再工作(請參閱http://bellard.org/tcc/)。他出於個人/歷史原因保留其存儲庫。然而所有的發展已經轉移到http://repo.or.cz/w/tinycc.git。爲了更加混淆事實,來自Fabrice網站的0.9.26版本實際上來自http://repo.or.cz/w/tinycc.git存儲庫,而不是Fabrice自己的。但這只是溝通問題。總之,你應該使用新的存儲庫。在存儲庫網站是一個郵件列表的鏈接,你應該報告任何問題,以防止新的回購代碼無法編譯。

+0

這就是答案。我很愚蠢,試圖修復一些未破的東西。:-) – keltar