在ubuntu上为arm编译TCC时遇到的问题

在ubuntu上为arm编译TCC时遇到的问题,c,compilation,tcc,C,Compilation,Tcc,我尝试使用GCC4.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.

我尝试使用GCC4.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的最新分支

刚刚在raspberry pi(ARMv6 CPU)上进行了检查。存储库,从tccgen.c(第945行)中的
vrotb
函数中删除
static
限定符。它构建并传递“hello world”


由于这是一个明显的错误,很可能是由于一些他们忘记适应ARM的更改而引入的-我建议执行进一步的测试,以确保它按预期工作。Bug报告应该归档-可能在github上。

我知道这有点让人困惑,但您的问题是您使用了错误的存储库。Fabrice Bellard不再在TinyCC上工作(请参阅)。出于个人/历史原因,他保留了自己的存储库。然而,所有的发展都转移到了新的领域。更让人困惑的是,Fabrice网站上的0.9.26版本实际上来自存储库,而不是Fabrice自己的。但这只是沟通问题。简而言之,您应该使用新的存储库。存储库网站上有一个邮件列表链接,如果新的回购代码无法编译,您应该在其中报告任何问题。

哪个存储库?有这么多叉子。。。另外,什么是uname-a?repo:和uname-a:Linux localhost 3.0.89-K^ Kernel_JB-4.1.2_OC_UV#370MB+#2抢占Mon Aug 5 00:42:04 CEST 2013 armv7l armv7l armv7l GNU/LinuxIt似乎还可以。你能运行
makeclean
/configure
然后
make
并提供它的完整输出吗?给你:这个分支中的一些更改似乎破坏了与arm的兼容性。在tccgen.c:945中删除“static”限定符,这将对您有所帮助。或者试试这个回购协议,不确定哪一个更新,但它们肯定不同。这就是答案。我真蠢,想修好一个没坏的东西…-)