0

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

4

2 回答 2

2

刚刚在树莓派(ARMv6 CPU)上检查过。https://github.com/TinyCC/TinyCC存储库,从tccgen.cstatic中的函数中删除了限定符(第 945 行)。vrotb它构建并传递“hello world”。

由于他们忘记适应 ARM 的某些更改可能会引入明显的错误 - 我建议执行进一步的测试以确保它按预期工作。应该提交错误报告 - 可能在 github 上。

于 2013-10-11T13:47:29.283 回答
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 自己的。但这只是沟通问题。简而言之,您应该使用新的存储库。在存储库网站上有一个邮件列表的链接,如果新的 repo 代码无法编译,您应该报告任何问题。

于 2013-10-12T13:07:08.680 回答