Mac上的问题:“在重新加载asm时无法在类BREG中找到寄存器”

时间:2010-10-24 19:42:47

标签: c++ macos shared-libraries gcc4

我尝试将一些代码移植到Mac OS X上。

该程序使用“ttmath”库,一个标题big-num标头库。 这个库在windows和linux上运行良好,但是当我尝试在Mac上编译并运行它时,会出现以下错误消息:

"can't find a register in class 'BREG' while reloading 'asm'".

我发现有些文件说这个问题是由旧版本的GCC编译器(build 5488)引起的,但是在我更新GCC之后这个消息仍然显示出来。

目前我的GCC版本是:

i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5490)

,操作系统是:  Mac OS X 10.5.8版

我找不到有关如何解决这个问题的任何有用信息,有没有人可以帮助我?非常感谢!

1 个答案:

答案 0 :(得分:3)

感谢DeadMG! 此问题是由PIC安全选项引起的。

我在编译代码时添加了"-mdynamic-no-pic""-fno-pic",现在工作正常:)