我尝试使用gcc 4.6.3为ARM编译tcc。但是在共享/静态lib mod中编译时出现了以下错误:
root@localhost:/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 :(得分:2)
刚在raspberry pi(ARMv6 CPU)上检查过它。 https://github.com/TinyCC/TinyCC存储库,已从tccgen.c中的static
函数中删除vrotb
限定符(第945行)。它建立并传递'你好世界'。
由于他们忘记适应ARM的某些变化可能会引入明显的错误 - 我建议进行进一步的测试以确保其按预期工作。应该提交错误报告 - 可能是在github上。
答案 1 :(得分: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自己的存储库。但这只是沟通问题。简而言之,您应该使用新的存储库。在存储库网站上是一个指向邮件列表的链接,您可以在其中报告任何问题,以防新的存储库代码无法编译。