把32位机上编写的程序,移到64位机上用GCC编译时,遇到relocation R_X86_64_32 against `a local symbol'这样的连接错误。
解决:
在gcc编译选项中添加-fPIC选项。 我的修改后的Makefile文件如下:
#This file is for energy
opt=-Wall -std=c99 -pedantic -fPIC
obj=main.o allot.o qsort.o solve.o sched.o pack.o mymath.o
ES:$(obj)
gcc -o $@ $^ -lm
.c.o:
gcc -c $< -fPIC
.PHONY: clean
clean:
rm ES $(obj)
参考:
阅读(6969) | 评论(0) | 转发(0) |