【发布时间】:2011-03-08 09:31:03
【问题描述】:
我正在尝试包装一些 C 代码以使用 Matlab/Octave 访问它。问题是代码没有用-fPIC编译,这似乎是用mex文件包装它的必要条件。我无权访问所有源代码,因此无法使用 -fPIC 重新编译。有没有办法解决这个问题?
【问题讨论】:
我正在尝试包装一些 C 代码以使用 Matlab/Octave 访问它。问题是代码没有用-fPIC编译,这似乎是用mex文件包装它的必要条件。我无权访问所有源代码,因此无法使用 -fPIC 重新编译。有没有办法解决这个问题?
【问题讨论】:
不幸的是,我认为没有。您可能必须构建一个独立的可执行文件并使用“系统”命令来运行它。
【讨论】:
-fPIC 开关生成适用于共享库的与位置无关的代码。如果您生成的代码没有 -fPIC,则它不是位置独立的,并且不能在共享库中使用。由于 MEX 文件是共享库,因此您将无法在其中使用非 PIC 代码。
【讨论】: