Есть ли способ связать mex-файл с кодом, скомпилированным без -fPIC - PullRequest
1 голос
/ 08 марта 2011

Я пытаюсь обернуть некоторый C-код для доступа к нему с помощью Matlab / Octave.Проблема заключается в том, что код не был скомпилирован с -fPIC, что, по-видимому, необходимо для переноса его в mex-файлы.У меня нет доступа ко всему исходному коду, поэтому перекомпиляция с -fPIC не вариант.Есть ли способ обойти эту проблему?

Ответы [ 2 ]

2 голосов
/ 09 марта 2011

Ключ -fPIC генерирует независимый от позиции код, подходящий для использования в разделяемой библиотеке. Если у вас есть код, сгенерированный без -fPIC, он не зависит от позиции и не может использоваться в общей библиотеке. Поскольку MEX-файлы являются общими библиотеками, вы не сможете использовать в них не-PIC-код.

2 голосов
/ 08 марта 2011

К сожалению, я не думаю, что есть.Возможно, вам придется создать автономный исполняемый файл и использовать команду «system» для его запуска.

...