我之前在gcc 6.3的机器上构建了我的代码。我正在使用gcc 5.3在另一台机器上构建相同的代码。我尝试使用来自不同位置的工作oed库。但仍然存在错误。我在Stackoverflow上查看了与此类似的其他问题的建议,但是他们建议必须已经链接了库。但事实并非如此。 Oed是一个fortran库,代码是C和C ++。
我不知道如何找出这个问题。欢迎任何帮助。
/usr/bin/ld: oed__gener_nai_batch.o: access beyond end of merged section (380)
/usr/bin/ld: oed__gener_nai_batch.o: access beyond end of merged section (586)
/usr/bin/ld: oed__gener_nai_batch.o: access beyond end of merged section (580)
/usr/bin/ld: /home/umunipala/gamess/gamess-kris-simgms/simgms/oed/liboed.a(oed__gener_nai_batch.o)(.debug_info+0x203): reloc against `.debug_str': error 2
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2:错误:ld返回1退出状态
答案 0 :(得分:1)
嗯,我认为有两种解决方案。
使用您当前的库设置重新编译.c文件。
导出相应版本的LD库。
问题基本上是由.o文件和你的gcc(编译器)之间的分歧引起的。