“如何修复”;针对';重新定位R#u X86_64_32s;。罗达';创建共享对象时不能使用“;编译fortran文件时发生链接错误 我试图通过Ubuntu 16.04中的Eclipse朱诺IDE编译一个包含10个FORTRAN文件的C++项目。
项目已编译且.o文件已生成,链接时抛出消息: 创建共享对象时,无法使用Vc3ded.o(fortran obj文件)针对“.rodata”重新定位R_X86_64_32S:使用-fPIC重新编译 我已经尝试通过EclipseIDE设置使用-fPIC编译该项目,并交叉验证了共享对象.so文件的路径 生成文件如下所示:“如何修复”;针对';重新定位R#u X86_64_32s;。罗达';创建共享对象时不能使用“;编译fortran文件时发生链接错误 我试图通过Ubuntu 16.04中的Eclipse朱诺IDE编译一个包含10个FORTRAN文件的C++项目。,c++,eclipse,linker,fortran,C++,Eclipse,Linker,Fortran,项目已编译且.o文件已生成,链接时抛出消息: 创建共享对象时,无法使用Vc3ded.o(fortran obj文件)针对“.rodata”重新定位R_X86_64_32S:使用-fPIC重新编译 我已经尝试通过EclipseIDE设置使用-fPIC编译该项目,并交叉验证了共享对象.so文件的路径 生成文件如下所示: -include ../makefile.init RM := rm -rf -include sources.mk -include src/simgear/xml/subdi
-include ../makefile.init
RM := rm -rf
-include sources.mk
-include src/simgear/xml/subdir.mk
-include objects.mk
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(strip $(CC_DEPS)),)
-include $(CC_DEPS)
endif
ifneq ($(strip $(C++_DEPS)),)
-include $(C++_DEPS)
endif
ifneq ($(strip $(C_UPPER_DEPS)),)
-include $(C_UPPER_DEPS)
endif
ifneq ($(strip $(CXX_DEPS)),)
-include $(CXX_DEPS)
endif
ifneq ($(strip $(CPP_DEPS)),)
-include $(CPP_DEPS)
endif
ifneq ($(strip $(C_DEPS)),)
-include $(C_DEPS)
endif
endif
-include ../makefile.defs
all: OWI_SIM
OWI_SIM: $(OBJS) $(USER_OBJS)
@echo 'Building target: $@'
@echo 'Invoking: GCC C++ Linker'
g++ -L/usr/lib -L/usr/local/include -L/usr/local/lib64 -L/usr/lib/x86_64-linux-gnu -o "OWI_SIM" $(OBJS) $(USER_OBJS) $(LIBS)
@echo 'Finished building target: $@'
@echo ' '
clean:
-$(RM) $(CC_DEPS)$(C++_DEPS)$(EXECUTABLES)$(C_UPPER_DEPS)$(CXX_DEPS)$(OBJS)$(CPP_DEPS)$(C_DEPS) OWI_SIM
-@echo ' '
.PHONY: all clean dependents
.SECONDARY:
-include ../makefile.targets
我通过在eclipse设置中使用-fPIC编译修复了它您能从项目中提取一个吗?一个C++和FORTRAN文件加上编译它们的命令行应该完成这项工作。包含大量未定义变量引用的makefile对这种情况没有帮助。作为一个新用户,也需要阅读。