Интеграция интерпретатора Octave в программу, скомпилированную с помощью GCC 4.8.1

Я пытаюсь интегрировать интерпретатор Octave в свой симулятор твердого тела, скомпилированный с помощью GCC 4.8.1. Следующие шаги опубликованы в официальной документации (https://www.gnu.org/software/octave/doc/interpreter/Standalone-Programs.html) позволяют мне скомпилировать, связать и успешно выполнить первый пример. Обратите внимание, что я могу связать исполняемый файл как с mkoctfile.exe, так и с g++, когда minGW 4.8.1 добавлен в PATH. Тем не менее, второй пример, показывающий, как встроить интерпретатор в мою программу, компилируется, связывается, а затем segfaults при выполнении, когда двоичные файлы GCC 4.8.1 находятся в PATH. Это работает, когда я использую поставляемый компилятор (в моем случае это gcc 4.6.2, поставляемый с октавой 3.6.1 для Windows).

Нужно ли мне собирать октаву из исходного кода с использованием GCC 4.8.1, чтобы успешно связать программу, скомпилированную с использованием этой версии, или есть какой-либо другой способ сделать это?

Использование GCC 4.6.2 для меня не вариант, так как моя программа использует функции С++ 11, которых нет в этой версии.


person tsuki    schedule 27.04.2015    source источник


Ответы (1)


Я только что узнал, что на http://mxeoctave.osuv.de/ доступна более новая версия Octave, которая была скомпилировано с помощью GCC 4.9.2. Эта версия GCC у меня отлично работает, а второй пример, приведенный в документации, начал работать при компиляции с помощью g++, поставляемого с дистрибутивом.

person tsuki    schedule 27.04.2015