通过call_scilab(Scilab API)将Qt应用程序与Scilab连接

时间:2014-12-06 23:13:34

标签: c++ qt qmake qtcore scilab

我正在研究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 个答案:

答案 0 :(得分:1)

尝试将lib的位置添加到LD_LIBRARY_PATH

答案 1 :(得分:0)

尝试在项目文件中使用它:

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

您需要重新运行qmake然后重新生成Makefile。确保你有32位scilab库或者将构建更改为64位应该是问题。