Я работаю над приложением 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
Библиотека уже находится в указанном каталоге (я проверял это вручную). До этого я пробовал много других настроек — все еще безуспешно.
Может ли кто-нибудь предоставить правильное решение этой проблемы?
попробуйте добавить местоположение вашей библиотеки в вашу LD_LIBRARY_PATH
Попробуйте использовать это в вашем файле проекта:
LIBS = -L/usr/lib/scilab -lscicall_scilab
Затем вам нужно будет повторно запустить qmake, чтобы восстановить Makefile (s). Убедитесь, что у вас есть 32-битная библиотека scilab или измените сборку на 64-битную, если это будет проблемой.