控制台交给我的完整错误如下。我在VirtualBox和VMware上使用了Lubuntu(尝试了两者)。出于某种原因,它适用于我的笔记本电脑但不适用于我的桌面。在通过许多消息论坛试图找到更多自己之后,似乎ld本身在我的系统上可能有问题,但我不够熟练,无法弄清楚出了什么问题。我知道" 1退出状态"意味着失败但是关于它。我不知道它为什么会失败。与我的代码无关,如果它在一台机器而不是另一台机器上运行。
我编程的语言是使用YASM编译器进行汇编。编译脚本链接在错误代码
下面错误代码:
/usr/bin/ld: funcs.o: relocation R_X86_64_32 against `.data' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: error: ld returned 1 exit status
编译脚本:
g++ -g -c $1.cpp -lglut -lGLU -lGL -lm
yasm -g dwarf2 -f elf64 $2.asm -l $2.lst
g++ -g -o $1 $1.o $2.o -lglut -lGLU -lGL -lm
请注意,虽然上述脚本稍微复杂一些,但下面的脚本也不会有效。
yasm -g dwarf2 -f elf64 $1.asm
yasm -g dwarf2 -f elf64 $2.asm
gcc -g -o $1 $1.o $2.o
答案 0 :(得分:-1)
解决这个问题的方法是从Lubuntu 16.10切换到Lubuntu 14.04。该程序最终在我的系统上正常运行。不确定错误的来源是什么。