Loading

龙芯mips64架构编译lldb时ld报错重寻址溢出

问题

报错情况类似如下:

/home/loongson/下载/flightgear/flightgear-2019.1.1/src/Scripting/NasalCanvas.cxx:137:(.text+0x6d0):  截断重寻址至相符: R_MIPS_CALL16 针对 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string()@@GLIBCXX_3.4.21
/home/loongson/下载/flightgear/flightgear-2019.1.1/src/Scripting/NasalCanvas.cxx:137:(.text+0x7a4):  从输出所省略的额外重寻址溢出
collect2: 错误:ld 返回 1
make[2]: *** [src/Main/CMakeFiles/fgfs.dir/build.make:7427:src/Main/fgfs] 错误 1
make[1]: *** [CMakeFiles/Makefile2:2133:src/Main/CMakeFiles/fgfs.dir/all] 错误 2
make: *** [Makefile:163:all] 错误 2

解决方法:需要添加cxxflag -mxgot

方法1

在 CMakeList.txt 中添加一行:

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mxgot")

方法2

在编译脚本里添加:

-DCMAKE_CXX_FLAGS=-mxgot

方法2,能通过编译,但是启动时会报段错误。

posted @ 2022-06-07 15:52  刘跑跑  阅读(283)  评论(0编辑  收藏  举报