有没有办法将 mex 文件链接到没有 -fPIC 编译的代码
Posted
技术标签:
【中文标题】有没有办法将 mex 文件链接到没有 -fPIC 编译的代码【英文标题】:Is there a way to link mex file against code compiled without -fPIC 【发布时间】:2011-03-08 09:31:03 【问题描述】:我正在尝试包装一些 C 代码以使用 Matlab/Octave 访问它。问题是代码没有用-fPIC编译,这似乎是用mex文件包装它的必要条件。我无权访问所有源代码,因此无法使用 -fPIC 重新编译。有没有办法解决这个问题?
【问题讨论】:
【参考方案1】:不幸的是,我认为没有。您可能必须构建一个独立的可执行文件并使用“系统”命令来运行它。
【讨论】:
【参考方案2】:-fPIC 开关生成适用于共享库的与位置无关的代码。如果您生成的代码没有 -fPIC,则它不是位置独立的,并且不能在共享库中使用。由于 MEX 文件是共享库,因此您将无法在其中使用非 PIC 代码。
【讨论】:
以上是关于有没有办法将 mex 文件链接到没有 -fPIC 编译的代码的主要内容,如果未能解决你的问题,请参考以下文章