我试图学习matlab到C工作流,我使用matlab编码器从这个。m文件生成C/c++代码
function c = simpleProduct(a,b) %#codegen
c=a*b;
和代码生成后,我的可视化win32 c++项目看起来像这样。
#include <iostream>
#include "simpleProduct.h" //matlab generated header file.
using namespace std;
void main(){
cout<<simpleProduct(34,55); //matlab generated funcion
}
我甚至从项目属性配置了"附加库"one_answers"附加依赖"到我生成的静态库,但同样的问题一次又一次地发生。
,从这个代码中我生成了一个静态库。并在matlab上进行了成功的运算。但是,当我包含生成的头文件,并在visual studio内链接静态库并编译它时,它给了我这个错误。
Error 1 error LNK2019: unresolved external symbol "float __cdecl simpleProduct(float,float)" (?simpleProduct@@YAMMM@Z) referenced in function _main C:UsersserakpcDocumentsVisual Studio 2010Projectschiraqchiraqsource.obj chiraq
开发环境—Matlab 2012 b,Visual Studio 2012,Visual Studio 2010,
原因是你的visual studio项目找不到simpleProduct.dll
。
simpleProduct.h
simpleProduct.lib
simpleProduct.dll
simpleProduct.ctf
你需要将这4个文件复制到你的visual studio solution目录,并将simpleProduct.lib
添加到[Properties > Linker > Input
]。