问题标签 [fpic]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 如何使用 -fPIC 重新编译
我试图按照本指南在我的 ARM Ubuntu 机器上重新安装我的 ffmpeg。不幸的是,当我编译一个使用这个库的程序时,我得到了以下失败:
现在我想像-fPIC
编译器建议的那样重新编译它,但我不知道怎么做。任何帮助表示赞赏。
32bit-64bit - PIC 编译 - 错误:创建共享对象时无法使用针对“vtable for hit”的重定位 R_X86_64_32S;使用 -fPIC 重新编译
我是 Linux 的新手,我在编译一个在 32 位机器上运行良好的 make 文件时遇到了麻烦。我没有编写这个程序,但我需要它来使用它的功能。我的机器是 64 位的,我收到以下消息错误:
我一直试图通过使用这个网站来解决这个问题,但我没有让程序工作...... http://www.gentoo.org/proj/en/base/amd64/howtos/index.xml? part=1&chap=3 我不习惯生成文件,这就是为什么我没有设法正确修改生成文件以 PIC 编译共享库。我在全局范围内添加了标志'export CXXFLAGS=$CXXFLAGS -fPIC',但它没有用。我完全迷路了。
这是制作文件(两个制作文件和一个调用它们的文件)。
-----------------------------------------2 -------- ------------
----------------------3--------------
希望有人能帮助我。提前致谢!!丹尼尔
linux - 如何知道是否使用 -fPIC 选项构建了共享库二进制文件
我正在研究嵌入式 Linux 环境。我有一组二进制格式的共享库(我没有源代码和 Makefile),我想检查它们是否已使用 -fPIC 选项编译。是否有任何工具或方法来测试共享库二进制文件是否已编译 -fPIC?
问候。
makefile - Giza++安装,FORTRAN问题
我正在尝试在 Ubuntu 12.10 64 位上安装 Giza++ 和 Moses。虽然让我不断遇到同样的问题:
...................................
谷歌搜索没有多大帮助。对于如何解决此问题的任何提示,我将不胜感激。我应该怎么做才能用 -fPIC 重新编译它?
c++ - 尽管使用 -fPIC 编译,但链接器错误“针对未定义符号重定位 R_X86_64_PC32”
我正在使用命令行编译一个 c++ 程序
然后尝试通过
这一直有效。但今天我得到:
符号_ZTVN12_GLOBAL__N_111handle_baseE
de-mangles 为
vtable for (anonymous namespace)::handle_base
(handle_base
是在 prog.cc 的匿名命名空间中定义的多态类,是的,我确实调用了dynamic_cast<handle_base>()
。)
我正在使用 gcc 版本 4.7.0 (GCC) 和 GNU ld (GNU Binutils; openSUSE 11.1) 2.19。任何人都可以提供帮助(建议解决方案[除了没有共享对象或dynamic cast
])吗?
makefile - 收到错误“使用 -fPIC 重新编译”
在 centos 中的 ./configure asterisk 之后,我输入 make 命令但收到以下错误
/usr/bin/ld: /usr/local/lib/liblua.a(lapi.o): 重定位 R_X86_64_32 反对 `luaO_nilobject_' 在制作共享对象时不能使用;使用 -fPIC /usr/local/lib/liblua.a 重新编译:无法读取符号:值错误
ubuntu-12.04 - elocation R_X86_64_32 对 `.rodata' 在制作共享对象时不能使用;使用 -fPIC 重新编译
我的服务器在 ubuntu 12.04 上。
我正在尝试安装此处可用的 Levenshtein-MySQL-UDF: https ://github.com/jmcejuela/Levenshtein-MySQL-UDF
我下载了 .zip 并在我的服务器上找到了 levenshtein.c 文件:/home/username/levenshtein.c
当我在终端中输入以下命令时:
我发现了这个错误:
/tmp/ccCPQijg.o:无法读取符号:错误值 collect2:ld 返回 1 退出状态
我用谷歌搜索了错误以找到解决方法并安装了 build-essential,但是在我遇到同样的错误之后。
我不知道如何使用 -fPIC 正确重新编译我必须重新编译的内容......
我发现了很多与我的话题有点不同的话题,我不知道我现在能做些什么来解决我的问题。
任何人都可以帮助我吗?
谢谢 ;-)
BBFUNK01
c++ - 将静态 (.a) 库与共享 (.so) 库链接,出现错误“针对本地符号重新定位 R_X86_64_32S;使用 -fPIC 重新编译”
使用 eclipse 在 redhat 中使用 g++ 64 位编译。
编译错误:../lib-EL5-64bit/libskd3_clnt_30134500.a(skd_clnt.o):在制作共享对象时,不能使用针对“本地符号”的重定位 R_X86_64_32S;使用 -fPIC 重新编译
我尝试过的事情我将 -fPIC 添加到了 c++ 编译器标志以及链接器标志。它已经存在于编译器标志中,我只是将它直接移到 g++ 之后,并在列表的末尾。
我已经要求 .a 库的创建者使用 -fPIC 重新编译它仍然给出相同的错误
有什么方法可以确保他们的库是用 -fPIC 编译的?错误消息是说我需要用 -fPIC 编译我的 .so,还是需要用 -fPIC 编译 .a 文件?我还能检查什么?
这是make文件(由eclipse自动生成)
制作文件:
子目录.mk
对象.mk
来源.mk
static - 使用 -fpic 和 -msingle-pic-base 时 arm 中的静态变量
当使用选项 -fpic 和 -msingle-pic-base 为 arm cortex-m3 编译时,它会创建一个全局偏移表,但是全局或本地静态变量不包含在全局偏移表中,并且具有绝对地址。这是一个错误还是一个功能,还是我错过了一个额外的选项?
x86-64 - Makefile:如果构建目标是amd64,则确定构建,以便我可以调整CFLAGS=-fPIC
我正在打包一个 deb 文件,并且配置脚本没有检查是否需要 -fPIC。因此在 amd64 上构建失败(因为 PIC 是强制性的)。
如果需要 -fPIC,我如何在 Makefile 中确定或在 debian/rules 中更好地确定?