Как связать установленную библиотеку C с Octave для создания новых вызываемых функций Octave? - PullRequest
0 голосов
/ 05 августа 2020

Установленная библиотека: ta-lib , которая в моей Linux системе состоит из пяти файлов заголовков

  • ta_abstract.h
  • ta_common. h
  • ta_defs.h
  • ta_fun c .h
  • ta_lib c .h

в каталоге / usr / include / ta-lib, а в каталоге / usr / lib есть

  • libta_lib.a
  • libta_lib.la
  • libta_lib.so
  • libta_lib.so.0
  • libta_lib.so.0.0.0

, который является результатом обычного ./configure, make, а затем checkinstall для установки библиотеки ta_lib.

На форуме MATLAB Mathworks пользователь предоставил сценарий compileMex.m для связывания / компиляции с типичной строкой, такой как

mex TA_ADOSC.c -I"../src/TA_COMMON/" -I"../include/" -L"../src/.libs/" -l"ta_lib"

Когда я пытаюсь выполнить указанную выше команду , после изменения путей в соответствии с моей установкой ta_lib я получаю сообщение об ошибке

gcc: error: TA_ADOSC.c: No such file or directory
gcc: fatal error: no input files

, которое я могу понять как TA_ADOS. c не является собственным файлом, а является кодом, содержащимся в ta_fun c .hh eader.

В основном мой вопрос: «Что такое эквивалентная команда Octave 'mkoctfile' или что-то еще для вышеуказанных команд MATLAB mex, чтобы я мог связать Octave с установленной библиотекой ta_lib и вызвать библиотечные функции, как обычную октавную функцию .m или скомпилированную функцию .oct? "

...