-
0 votesanswersviews
静态gcc链接到我的fortran共享库
我想在linux中创建一个Fortran共享库,它静态链接到 gcc 库 . 例如,我有 hello.f : function hello() print *, "Hello World!" end function hello 当我使用共享 gcc 链接时,一切正常 $ gcc hello.f -shared -fPIC -o hello.so -lgfortran... -
1 votesanswersviews
使用静态链接的libstdc创建共享库时失败
在64位x86机器中使用gcc 4.5.1,我首先按如下方式创建a.o:g -fPIC -c a.cc -o a.o 然后尝试创建liba.so如下:g -static-libstdc -shared -W1,-soname,liba.so -o liba.so.1.0.0 a.o 但失败了,并提供以下信息:在创建共享对象时,不能使用针对`vtable for __gnu_cxx :: stdio... -
347 votesanswersviews
GCC -fPIC选项
我读过GCC's Options for Code Generation Conventions,但无法理解"Generate position-independent code (PIC)"的作用 . 请举个例子来解释一下它的含义 . -
11 votesanswersviews
如果在可执行文件中使用了gcc -fPIC标志,那么用于编译对象的含义是什么呢?
我正在为我正在进行的项目整理一个makefile . 我在项目中有一个可执行文件和一个共享库 . 两者都使用一些相同的源文件,这些文件分别编译到目标文件中 . 为了能够在共享库中使用这些对象,我需要在gcc中使用-fPIC(位置无关代码)标志 . 使用可执行文件中使用的-fPIC编译对象是否有任何影响? -
82 votesanswersviews
`-fpic`和`-fPIC` gcc参数有什么区别?
我已经阅读了 gcc 联机帮助页,但我仍然无法理解 -fpic 和 -fPIC 之间的区别 . 有人可以用一种非常简单明了的方式解释它吗? 相关问题: What does -fPIC mean when building a shared library? What, if any, are the implications of compiling objects with gcc -... -
25 votesanswersviews
为什么在64位而非32位平台上绝对需要fPIC?
我最近收到了: ...在创建共享对象时,不能使用“对本地符号”重定位R_X86_64_32;用-fPIC重新编译 尝试将程序编译为共享库时出错 . 现在解决这个问题并不太困难(使用-fPIC重新编译所有依赖项),但经过一些研究后发现这个问题只出现在x86-64平台上 . 在32位上,任何依赖于位置的代码仍可由动态加载程序重新定位 . 我能找到的最好的answer是: x86支持.text重定... -
1 votesanswersviews
得到错误“使用-fPIC重新编译”
在centos中的./configure星号之后我输入make命令但是得到以下错误 / usr / bin / ld:/usr/local/lib/liblua.a(lapi.o):在创建共享对象时,不能使用针对`luaO_nilobject_'的重定位R_X86_64_32;使用-fPIC /usr/local/lib/liblua.a重新编译:无法读取符号:值不正确 -
0 votesanswersviews
将静态(.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之后,并在列表... -
0 votesanswersviews
将Python嵌入C时无法创建共享库
我正在尝试创建一个共享库,其中包含一个C头文件和两个C源文件,其中一个调用Python文件进行实现 . 使用的编译命令是 gcc -fPIC -c -II / usr / local / include -I / usr / local / include -I / usr / local / include / python3.4m -I / usr / local / include / p...