在制作共享对象时,不能使用针对`.rodata'的重定位R_X86_64_32;用-fPIC重新编译

时间:2017-07-06 09:26:01

标签: c++11 compiler-errors makefile-errors

所以我一直试图用-fPIC重新编译,但似乎我得到了同样的错误,我做得对,还是我错过了其他的东西?

all: pr1 pr2

pr1:
    g++ -std=c++11 -fPIC -c $(wildcard pr1.cpp)
    g++ -std=c++11 -o $(PROGRAM) pr1.o $(LIBRARY) $(LINKER_FLAGS)
    rm -f pr1.o
pr2:
    g++ -std=c++11 -fPIC -c $(wildcard pr2.cpp) 
    g++ -std=c++11 -o $(PROGRAM1) pr2.o $(LIBRARY) $(LINKER_FLAGS) 
    rm -f pr2.o

问题似乎发生在第二个程序(pr2),可能是在我尝试重用LIBRARY(.a文件)时?

1 个答案:

答案 0 :(得分:0)

显然我没有删除生成的.a库。先做清洁