`
larlf
  • 浏览: 105651 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

解决TCC在Windows下面提示:unknown constraint 't' 的问题

tcc 
阅读更多
在Windows下用TCC进行编译时,如果使用到了<math.h>里的一些函数,有可能会报这个Error :
../../deps/tcc/include/math.h:341: error: unknown constraint 't'
错误的原因是在Win32平台上处理__asm__时,没有处理下面几个约束:
f 表示使用浮点寄存器
t 表示使用第一个浮点寄存器
u 表示使用第二个浮点寄存器

从网上找到了解决方法:
从TCC的源码中找到处理这部分的:i386-asm.c

然后在Line1031加入:
        case 'f':
        case 't':
        case 'u':
在Line1211加入:
        case 'f':
        case 't':
        case 'u':
            break;

然后重新编译TCC。

Windows下重新编译TCC的方式为:
一、安装MinGW
二、配置Path,以方便运行GCC
三、进入TCC的目录,如果编译32位的,把build-tcc.bat下面两句删除:
@if _%PROCESSOR_ARCHITEW6432%_==_AMD64_ goto x86_64
@if _%PROCESSOR_ARCHITECTURE%_==_AMD64_ goto x86_64
四、执行build-tcc.bat,此目录下出现tcc.exe说明编译成功
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics