cost 232 ms
-fPIC 对不使用 -fPIE -pie 构建的可执行文件有任何影响吗? - Does -fPIC has any effect on an executable built without -fPIE -pie?

我在 SO 看到了很多问题,询问为什么不是所有代码都编译为 PIC或者为什么我们不能总是使用-fPIC 。 但是,所有答案都没有解释当您的对象使用-fPIC编译但您将它们链接到不是PIE(位置无关的可执行文件)的可执行文件时会发生什么。 根据我的理解(使用一些小示例并使用readelf反汇编/检查 ...

pip 安装编译失败并出现错误要求我“使用 -fPIC 重新编译” - pip install compilation fails with error ask me to "recompile with -fPIC"

我尝试使用源代码构建 pycolmap,但出现以下错误。 根据谷歌搜索结果,我在 CMAKELISTS.txt 中添加了这些 CXX_FLAGS,但它仍然不起作用。 任何人都知道怎么了? 我想也许我应该清理一些以前的构建文件,但我不知道在运行时该怎么做 ...

gcc 编译错误:/usr/bin/ld: gfx.o: 重定位 R_X86_64_32 against `.rodata' cannot be used when make a PIE object; 使用 -fPIE 重新编译 - gcc compile error: /usr/bin/ld: gfx.o: relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIE

错误如下: 当我添加-fPIC或-fPIE时,没有任何变化。 我知道gfx.o库可以工作,因为它以前可以工作,并且当我在我的服务器上输入 ssh 时它仍然可以工作。 制作文件如下: 我尝试在 makefile 中使用-fPIE和-fPIC 。我还尝试卸载并重新安装 gcc 和 binutills,但 ...

libpng.a(pngerror.o):需要针对“stderr”进行动态 R_X86_64_PC32 重定位 - libpng.a(pngerror.o): requires dynamic R_X86_64_PC32 reloc against 'stderr'

我在 Ubuntu 20 焦点上,我正在尝试将Blender 构建为 Python 模块。 构建说明的最后一步是我遇到问题的地方。 我的建筑达到 100%,但随后失败并显示以下输出: 我试过sudo make bpy -fPIC ,但这会引发另一个错误: 我认为-fPIC错误是因为我很愚 ...

可能最终在共享库中的所有内容是否总是需要使用 -fPIC 进行编译? - Does everything that may end up in a shared library always need to be compiled with -fPIC?

我正在建立一个共享库。 我只需要一个 function 就可以公开。 共享库由几个 object 文件和几个 static 库构建而成。 linker 抱怨一切都应该用-fPIC构建。 所有 object 文件和大多数 static 库都是在没有此选项的情况下构建的。 这让我问了几个问题: 我是 ...

尽管启用了 POSITION_INDEPENDENT_CODE 标志,但使用 -fPIC 重新编译时出现错误 - Getting Error recompile with -fPIC although POSITION_INDEPENDENT_CODE flag is enabled

我正在尝试通过 cmake 将 afinit_state.a 库与我的 C++ 项目链接。 但是我收到了附加错误。 我的 cmake 文件是: 在发布这个问题之前,我已经尝试了我可以在互联网上找到的选项。 很多人都说我使用了 set_property(TARGET ${PROJECT_NAME} P ...

重定位 R_X86_64_PC32 在已经使用 fPIC 的情况下创建共享对象时不能使用针对符号的重定位 - relocation R_X86_64_PC32 against symbol can not be used when making a shared object when fPIC was already used

我看过很多关于解决这种类型的链接器错误的帖子,在大多数情况下,人们只是忘记用-fPIC编译,有时人们在使用内联函数等方面遇到问题,但这里并非如此。 我正在尝试使用Pybind11为 python 包装一个 C++ 库。 在这个过程中,我想将一些静态库(其中一个是newmat11 )链接到一个 .so ...

Linker 错误:“针对符号‘xmlFree’重新定位 R_X86_64_PC32 ... 使用 -fPIC 重新编译”但有问题的库已经使用 -fPIC 编译 - Linker error: “relocation R_X86_64_PC32 against symbol `xmlFree' … recompile with -fPIC” but offending library was already compiled with -fPIC

我正在尝试建立一个共享库。 我的目标是将所有依赖项作为 static 库拉到一个共享库中。 我的理解是,这可以通过-Wl,--whole-archive标志来完成。 这是我负责配置共享库的 CMake 脚本的片段。 我在尝试编译时遇到的错误(详细模式已打开)是: 但是,根据这个问题, /usr/lo ...

使用或不使用-fpic - To use or not to use -fpic

我的应用程序需要在运行时加载一个或多个算法,我使用.so。 问题是这些库不被任何其他进程使用,而是我的应用程序,所以不需要与其他人共享.text部分。 .so的某些部分来自我之前编译的其他静态库。 在这种情况下,我是否仍然必须为静态文件使用-fpic标志? 编辑 我找到了这 ...

从一个编译器版本到另一个编译器版本的符号重定位 - Symbol relocation from one compiler version to another

我正在编译一个静态库,我们称它为 static.a,它稍后由共享库 shared.so 和最终的可执行二进制文件链接(shared.so 仅使用 static.a 中的一些函数,也许稍后可以进一步分裂)。 如果我尝试使用 gcc 7.4 编译它,我会收到此链接器错误: 我决定也尝试 gcc 9. ...

“没有位置独立可执行文件 (PIE) 标志的 ELF 构建”适用于 mips64 架构,但不适用于其他架构 - "ELF built without Position Independent Executable (PIE) flag " for mips64 architecture but not for other architectures

我生成了一个共享库 .so 文件我没有在 CMakeLists.txt 中使用任何标志 -fpic 但是其中一个工具报告了 mips64 架构的“ELF 没有位置独立可执行文件 (PIE) 标志构建”,而不是其他架构。 有人知道 -fpic 在其他架构中是如何处理的,但在 mips64 中没有吗 ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM