matlab mex编译问题

来源:互联网 发布:ibm软件 文件系统 编辑:程序博客网 时间:2024/05/02 16:47

matlab和c,cpp的混编在很多科学应用以及论文代码中都会用到,有些时候我们需要自己生成。笔者在跑别人的matlab代码程序的时候需要重新进行matlab和c++的混编,其中还调用了eigen的库文件,按照正常情况下,编写完成cpp文件后,在matlab对应目录下,选择完相应的编译器后,只要输入mex filename.cpp即可,但是笔者每次都会出现以下错误:


而对应的eigen3文件夹已经放在.cpp同名文件夹下,同时,在vs2013的搜索目录中也已经添加了响应的路径,仍然会出同样的问题。

经过仔细查找,笔者发现,mex编译的时候除了直接mex相应的文件,还要根据.cpp文件中使用的库来进行适当的调整,如果用到了其他的函数库,那么需要使用的编译命令是mex -l./ filename.cpp,相应的库文件位于.cpp同名文件夹下或者指定的已经添加到path的路径里。


详细的关于mex的编译说明见http://cn.mathworks.com/help/matlab/ref/mex.html


0 0
原创粉丝点击