繁体   English   中英

链接到Linux版Eclipse(C ++)中的matlab库

[英]Linking to matlab libraries in Eclipse (C++) for Linux

我已经将代码生成了一个simulink模型转换为C代码,并围绕它编写了一个C ++框架。 它在Windows上运行良好,但现在我想在linux环境中进行编译,以便能够在linux群集上运行它(无需使用Windows模拟器)。 我已经在群集节点上的Eclipse CDT中进行了设置,并据我所知添加了所有链接器设置,但是当我尝试编译时会出现链接错误。

最终的编译器命令使用以下格式(libmex.so matlab库的示例)

g++ -L{path to Matlab/bin/glnxa64} -o VCTSClient -lmex

但是,有许多库链接在一起,所以我无法粘贴整个内容。

大多数库都能正常工作,但有些则不能。 完整的错误消息显示为:

/usr/lib64/gcc/x86_64-suse-linux/.../bin/ld: cannot find -lhdf5_hl
/usr/lib64/gcc/x86_64-suse-linux/.../bin/ld: cannot find -ltbb
/usr/lib64/gcc/x86_64-suse-linux/.../bin/ld: cannot find -ltbbmalloc
/usr/lib64/gcc/x86_64-suse-linux/.../bin/ld: cannot find -licuuc
/usr/lib64/gcc/x86_64-suse-linux/.../bin/ld: cannot find -lhdf5
/usr/lib64/gcc/x86_64-suse-linux/.../bin/ld: cannot find -licudata
/usr/lib64/gcc/x86_64-suse-linux/.../bin/ld: cannot find -licuil8n
/usr/lib64/gcc/x86_64-suse-linux/.../bin/ld: cannot find -licuio

由于某种原因,即使我成功(据我所知)成功链接到同一目录中的其他库,也找不到这些库,例如上述的libmex.so。

如何调试此问题?

我不确定是否是问题的根源,但是您是否尝试从Linux上运行的Matlab生成模型? 我没有在Linux上使用Matlab,但有可能在Linux和Windows版本之间未生成相同的代码。 那可以解释为什么出现链接错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM