g++;,R_X86_64_32S:它是什么? 用OpenGL编写C++的3D引擎。我通常在我的ArchLinux64位上做这个项目,但在节假日我在32位系统上做。我使用subversion,自从上次在64位系统上安装svn以来,我遇到了一些错误:
核心、包装器和接口都是使用-fPIC选项编译的,我不太明白g++;,R_X86_64_32S:它是什么? 用OpenGL编写C++的3D引擎。我通常在我的ArchLinux64位上做这个项目,但在节假日我在32位系统上做。我使用subversion,自从上次在64位系统上安装svn以来,我遇到了一些错误:,c++,g++,C++,G++,核心、包装器和接口都是使用-fPIC选项编译的,我不太明白 谢谢:)在使用32位和64位构建选项时,几乎总是会产生类似的重新定位错误。在您的构建中使用-m64或-march=medium等选项时会发生这种情况,这会强制将内容设置为64位,这是您目前不希望看到的。这似乎是一个重新定位错误,您的一些文件没有使用-fPIC编译。 将您的标志更改为包含-fPIC,然后在再次构建之前执行清理。在构建32位端之前,您确实删除了64位区域中的所有.o文件?是的,没有通过SVNAR广播的bin文件您确定所有内容
谢谢:)在使用32位和64位构建选项时,几乎总是会产生类似的重新定位错误。在您的构建中使用-m64或-march=medium等选项时会发生这种情况,这会强制将内容设置为64位,这是您目前不希望看到的。这似乎是一个重新定位错误,您的一些文件没有使用
-fPIC
编译。
将您的标志更改为包含
-fPIC
,然后在再次构建之前执行清理。在构建32位端之前,您确实删除了64位区域中的所有.o文件?是的,没有通过SVNAR广播的bin文件您确定所有内容都是使用-fPIC
编译的吗?链接器显然不这么认为。我想。一位朋友解释说,我可以用“隐含规则”跑步。虽然我写了“-fPIC”,但还是有一些问题没有解决。我真的不知道为什么。。。我将-fPIC放在CXXFLAGS中(在-fPIC被放在“%.o”规则中之前),它从那时起就开始工作了。你已经读过了吗?我不这么认为。如果架构不匹配,您将得到一个更像输入文件'32.o'的ld:i386架构与i386:x86-64输出不兼容的错误