我正在尝试制作一些使用可从Matlab调用的Eigen库的C ++代码。我似乎无法找到关于如何使用Matlab做到这一点的任何指示。
你能用matlab编译一个使用这些库的mex文件吗? 我知道您可以调用MathWorks库,但这意味着重写代码。
答案 0 :(得分:1)
对于Eigen c ++库,只需将Eigen文件夹从库复制到c ++文件所在的文件夹即可。 您需要使用的命令是mex -I./ yourfile.cpp
答案 1 :(得分:0)
原则上,您可以使用-l
和-L
选项将mex文件链接到任意外部dll /共享库。
例如,取自http://www.mathworks.de/de/help/matlab/ref/mex.html:
mex('-largeArrayDims',['-L' lapackpath],'-llibmwlapack','matrixDivide.c')
只需根据您的需要调整-llibmwlapack
和lapackpath
。
答案 2 :(得分:0)
所以你没有附上任何来源,我试着给出一些一般的建议。
你可以看看: http://www.mathworks.de/de/help/matlab/ref/mex.html
在你的matlab版本中应该是一些例子: matlabroot /工具箱/ Simulink的/ fixedandfloat / fxpdemos /
一旦我必须为某些c ++代码执行此操作,在matlab中调用用c ++编写的过滤器函数。