如何修复“ 32位RIP相对引用超出范围”和“错误:无效的变量'PLTOFF'”

时间:2019-07-25 06:37:02

标签: c++ macos openmp

这是我第一次问这个问题。

我编写了一个有关计算电荷和电势场之间相互作用的c ++程序。该程序还使用OpenMP编码。

我在macOS的终端上使用g++-9 -fopenmp 2Dplasma.cpp进行了编译。

首先,错误显示

ld: 32-bit RIP relative reference out of range (2164694997 max is +/-2GB): from _main (0x1000028D4) to _vthetai (0x18106DD80) in '_main' from /var/folders/95/vjq2m8yx6sg52jjypbcq570h0000gn/T//ccB1YdLT.o for architecture x86_64

我找到了一些有关32位代码限制的建议,并尝试使用g++-9 -fopenmp 2Dplasma.cpp -mcmodel=large进行编译。然后出现大量错误,例如我不明白的代码,

/var/folders/95/vjq2m8yx6sg52jjypbcq570h0000gn/T//ccKj5bZk.s:10172:16: error: invalid variant 'PLTOFF'
    movabsq $_log@PLTOFF, %rax

如何解决?

0 个答案:

没有答案