有没有办法将 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 编译的代码的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 中的配置文件 mex 功能

将python嵌入到os x上的matlab mex文件中

有没有办法将音频文件发送到语音到文本识别

有没有办法将本地图像发送到组件函数?

尝试编译 MEX 文件时缺少 libkernel32

有没有办法将某人链接到高清 1080p 质量的 YouTube 视频? [关闭]