- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
-fpic 标志有什么作用?
我想安装一个库( OpenSFM ),据说它需要使用 -fPIC 编译标志构建和安装 Ceres Solver。
问题是我已经安装了没有 -fPIC 标志的 Ceres Solver 并且其他库已经依赖它。我该如何解决这个问题?
最佳答案
可以在 here 中找到对 -fPIC 的一个很好的解释。 .
我认为这里的主要问题是您是否仍然可以在不重建 Ceres Solver 的情况下继续安装 OpenSfM。据我所知,你不能。
您可以做的最直接的事情是重建 Ceres Solver 并重新安装 PIC 版本。
cmake .. -DCMAKE_C_FLAGS=fPIC \
-DCMAKE_CXX_FLAGS=-fPIC \
-DSOMEOTHERARGUMENTSTHATYOUMIGHTHAVE
关于shared-libraries - -fPIC 编译标志有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39198826/
使用 Qt 时,CMake 会自动将 -fPIC 标志添加到编译选项。我想使用 -fpic,所以我检查了所有 Cmake 变量并将 -fPIC 替换为 -fpic。 cmake_minimum_req
环境:Ubuntu 16.04 在我的实验中,我运行了以下命令: gcc -c 1.c gcc -c -fPIC 2.c gcc -shared 1.o 2.o -o libmyxxx.so 我需要公
我已经阅读了 gcc 手册页,但我仍然无法理解 -fpic 和 -fPIC 之间的区别。有人可以用非常简单明了的方式解释一下吗? 相关问题: What does -fPIC mean when bui
海湾合作委员会错误: relocation R_X86_64_32S against `ebx' can not be used when making a shared object; recomp
我已经下载了一些我想从源代码编译的 C++。从命令行运行 cmake ../src 和 make 后,在构建目录中,出现以下错误: /usr/bin/ld: /usr/local/lib/libBul
我在 Google 上找不到直接的答案,而且由于我已经很长时间没有在 Linux 上做过任何事情,所以希望能在这里找到帮助。构建共享对象时,我在 Ubuntu 上遇到链接错误。链接器告诉我应该使用 -
我目前正在 cmake 环境中构建共享库 (lib1.so)。lib1.so 依赖于外部静态库 libLASlib.a(如有必要,我可以重新编译)。到目前为止,一切都在 Windows 上运行良好,但
我的应用程序需要在运行时加载一个或多个算法,为此我使用 .so。问题是这些库除了我的应用程序之外没有被任何其他进程使用,所以不需要与其他人共享 .text 部分。 .so 的某些部分来 self 预先
我正在尝试使用 luarocks 安装 numlua: luarocks make numlua-0.3-1.rockspec 但出现以下错误: /usr/bin/ld: numlua.o: relo
即使我可能不打算将生成的可重定位目标文件链接到共享库中,始终使用 -fPIC 进行编译是否有任何危害? 最佳答案 好吧,总是使用 -fPIC 进行编译会产生更臃肿和更慢的代码。 差异在 x64 目标上
我想检查共享库是否使用 -fPIC 标志编译。有哪些可能的方法(在 Linux 上,x86_64)检查这个? -fPIC 是否隐含(从而使检查变得多余?) 最佳答案 是的,GCC 不允许您在没有 -f
我知道 -fPIC 是共享库所必需的,并且知道为什么。 但是,我对这个问题不是很清楚: -fPIC 不应在构建可执行文件或静态库期间使用吗? 最佳答案 Should -fPIC never be us
我有 MPICH 3.0.4安装在我的机器上(Ubuntu 12.04)。我正在尝试安装一个名为 Qthreads 的库我之前使用过并成功安装过它(除了安装了 MPICH2 包)。配置工作正常: ./
我正在构建一个共享库。我只需要一个函数就可以公开。 共享库由几个目标文件和几个静态库构建而成。链接器提示一切都应该用 -fPIC 构建.所有目标文件和大多数静态库都是在没有这个选项的情况下构建的。 这
-fpic 标志有什么作用? 我想安装一个库( OpenSFM ),据说它需要使用 -fPIC 编译标志构建和安装 Ceres Solver。 问题是我已经安装了没有 -fPIC 标志的 Ceres
我想将目标文件和静态库组合成一个共享库,但是静态库不能暴露,它只在进入共享库的目标文件中引用。我认为在这种情况下,我不需要使用 -fPIC 编译静态库,但我不知道如何告诉链接器我不会使用静态库中的符号
今天,当尝试使用 mongodb c++ 客户端构建我的 so lib 项目时,出现错误: /usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/4.8/../../.
我正在为一个类编写一些 C 代码,但我遇到了需要在 make 文件中完成的编译器问题,当它运行时它总是给出错误 usr/bin/ld: main.o: 重定位 R_X86_64_32S 对符号“被积函
在centos中./configure asterisk后我输入make命令但是出现了以下错误 /usr/bin/ld:/usr/local/lib/liblua.a(lapi.o): 创建共享对象时
我正在尝试在 linux 中创建一个共享库,但在尝试编译时出现以下错误: relocation R_X86_64_32S against `.rodata' can not be used when
我是一名优秀的程序员,十分优秀!