原makefile文件代码如下:
CC = gcc -Os -fopenmp
CFLAGS = -L/usr/local/sac/lib -lsac -lsacio -lm
BIN = ../bin
FDTCC: FDTCC.o sacio.o
${CC} -o ${BIN}/$@ $^ ${CFLAGS}
clean:
rm -f *.o
运行make后报错:
gcc -Os -fopenmp -o ../bin/FDTCC FDTCC.o sacio.o -L/usr/local/sac/lib -lsac -lsacio -lm
/usr/bin/ld: /usr/local/sac/lib/libsac.a(xapiir.o): relocation R_X86_64_32 against `.text' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: failed to set dynamic section sizes: bad value
collect2: error: ld returned 1 exit status
make: *** [Makefile:9:FDTCC] 错误 1
makefile文件make后报错
-
- 帖子: 3
- 注册时间: 2023-07-10 13:36
- 系统: Ubuntu22.04.2
- astolia
- 论坛版主
- 帖子: 6513
- 注册时间: 2008-09-18 13:11
-
- 帖子: 3
- 注册时间: 2023-07-10 13:36
- 系统: Ubuntu22.04.2
Re: makefile文件make后报错
感谢回复。
由于SAC库没有源码。我选用加上-fPIC,但它仍然报错。
gcc -Os -fopenmp -fPIC -o ../bin/FDTCC FDTCC.o sacio.o -L/usr/local/sac/lib -lsac -lsacio -lm
/usr/bin/ld: /usr/local/sac/lib/libsac.a(xapiir.o): relocation R_X86_64_32 against `.text' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: failed to set dynamic section sizes: bad value
collect2: error: ld returned 1 exit status
make: *** [Makefile:9:FDTCC] 错误 1
由于SAC库没有源码。我选用加上-fPIC,但它仍然报错。
gcc -Os -fopenmp -fPIC -o ../bin/FDTCC FDTCC.o sacio.o -L/usr/local/sac/lib -lsac -lsacio -lm
/usr/bin/ld: /usr/local/sac/lib/libsac.a(xapiir.o): relocation R_X86_64_32 against `.text' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: failed to set dynamic section sizes: bad value
collect2: error: ld returned 1 exit status
make: *** [Makefile:9:FDTCC] 错误 1
- astolia
- 论坛版主
- 帖子: 6513
- 注册时间: 2008-09-18 13:11
Re: makefile文件make后报错
那你加-fno-pie和-no-pie试试