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

Cla*_*ang 5 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'".
Run Code Online (Sandbox Code Playgroud)

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

目前我的GCC版本是:

i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5490)
Run Code Online (Sandbox Code Playgroud)

操作系统是:Mac OS X 10.5.8版

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

Cla*_*ang 3

感谢DeadMG!此问题是由于 PIC 安全选项造成的。

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