创建共享对象时不能使用针对“.rodata”的重定位 R_X86_64_32;使用-fPIC重新编译

问题描述 投票:0回答:1

所以我一直在尝试使用 -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 文件)时?

c++ c++11 makefile compiler-errors
1个回答
0
投票

显然我没有删除生成的 .a 库。先清理干净

© www.soinside.com 2019 - 2024. All rights reserved.