Взаимодействие приложения Qt со Scilab через call_scilab (Scilab API)

Я работаю над приложением Qt, которое должно вычислять некоторые данные, используя числовой движок Scilab. Моя ОС — Ubuntu 14.04 с установленными Scilab v.5.5.0 и QtCreator v.3.2.1 (Qt 5.3.2).

Я использую простой пример кода, представленный в справке scilab:

   /****** INITIALIZATION **********/
#ifdef _MSC_VER
if ( StartScilab(NULL,NULL,NULL) == FALSE )
#else
if ( StartScilab(getenv("SCI"),NULL,NULL) == FALSE )
#endif
{
fprintf(stderr,"Error while calling StartScilab\n");

}

/****** ACTUAL Scilab TASKS *******/

SendScilabJob("myMatrix=['sample','for the help']");
SendScilabJob("disp(myMatrix);"); // Will display !sample  for the help  !
SendScilabJob("disp([2,3]+[-44,39]);"); // Will display   - 42.    42.

/****** TERMINATION **********/
if ( TerminateScilab(NULL) == FALSE ) {
fprintf(stderr,"Error while calling TerminateScilab\n");

}

Моя проблема в том, что после нажатия «Выполнить» я получаю предупреждение:

/ home / med / Dokumenty / QTWorkspace / build-QTtest-Desktop_Qt_5_3_GCC_32bit-Debug / QTtest: ошибка при загрузке общих библиотек: libscicall_scilab.so.5: невозможно открыть файл общего объекта: нет такого файла или каталога

Я попытался добавить следующую строку в файл qmake .pro, но безрезультатно:

LIBS += /usr/lib/scilab/libscicall_scilab.so.5

Библиотека уже находится в указанном каталоге (я проверял это вручную). До этого я пробовал много других настроек — все еще безуспешно.

Может ли кто-нибудь предоставить правильное решение этой проблемы?

2

Решение

попробуйте добавить местоположение вашей библиотеки в вашу LD_LIBRARY_PATH

1

Другие решения

Попробуйте использовать это в вашем файле проекта:

LIBS = -L/usr/lib/scilab -lscicall_scilab

Затем вам нужно будет повторно запустить qmake, чтобы восстановить Makefile (s). Убедитесь, что у вас есть 32-битная библиотека scilab или измените сборку на 64-битную, если это будет проблемой.

0

По вопросам рекламы [email protected]