我正在尝试使用Matlab / Octave包装一些C代码来访问它。问题是代码还没有用-fPIC编译,这似乎是用mex文件包装它所必需的。我无法访问所有源代码,因此无法使用-fPIC重新编译。有没有解决这个问题的方法?
答案 0 :(得分:2)
不幸的是我不认为有。您可能必须构建独立的可执行文件并使用“system”命令来运行它。
答案 1 :(得分:2)
-fPIC开关生成适合在共享库中使用的与位置无关的代码。如果您在没有-fPIC的情况下生成代码,则它不是与位置无关的,并且不能在共享库中使用。由于MEX文件是共享库,因此您将无法在其中使用非PIC代码。