我将在我的QT计划中使用MATLAB共享库。
我写了一个简单的MATLAB函数。
function a = libcalsin(b)
a = b + 4;
end % end of function
然后我使用MATLAB Library Compiler生成.so和.h文件。
因此输出文件是: libcalsin.so 和 libcalsin.h 。我将这些文件复制到我的QT项目中,并使用QT Creator将#libcalsin库添加到我的QT项目中#34;添加库"特征。因此,以下行自动添加到我的.pro文件中:
unix:!macx: LIBS += -L$$PWD/./ -lcalsin
INCLUDEPATH += $$PWD/.
DEPENDPATH += $$PWD/.
在此步骤中,我安装了MATLAB 2015运行时引擎并使用 export 命令添加运行时库路径:
export LD_LIBRARY_PATH=/usr/local/MATLAB/MATLAB_Runtime/v90/runtime/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/v90/bin/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/v90/sys/os/glnxa64:
然后在我的.pro文件中添加以下行:
unix:!macx: LIBS += -L/usr/local/MATLAB/MATLAB_Runtime/v90/runtime/glnxa64/ -lmwmclmcrrt
INCLUDEPATH += /usr/local/MATLAB/MATLAB_Runtime/v90/extern/include
DEPENDPATH += /usr/local/MATLAB/MATLAB_Runtime/v90/extern/include
但是当我运行程序时,我面临以下运行时错误:
An Error has occurred while trying to initialize the MATLAB Runtime.
The error is: Fatal error loading library /usr/local/MATLAB/MATLAB_Runtime/v90/bin/glnxa64/libmat.so Error: /usr/local/MATLAB/MATLAB_Runtime/v90/bin/glnxa64/libicuio.so.54: undefined symbol: _ZN6icu_5413UnicodeString9doReplaceEiiPKDsii