现在我要用C调用MATLAB6用mcc (matlab compiler v2.2)编译.m文件生成的DLL文件。
在.m文件是空函数时,可以执行,现在我的.m文件是对输入的图像文件作一个处理,返回处理后的图像,在matlab下不编译直接调用执行没有问题,但是编译成DLL后,用VC生成的hello world文件中调用About对话框的消息,调用DLL中的函数,在处理时出错。
因为不能TRACE到matlab的本身的函数中,而且也不太明白matlab编译生成的C文件,同时也不想改matlab编译的文件,因为我希望以后.m文件可以变化。
请高手出手,我把我的源文件上载到了
http://cn.briefcase.yahoo.com/v000099/
下有aaa文件夹,里面有两个zip文件,pub.zip是带了matlab编译库.lib文件,大约500K
pub1.zip没有带<300K。
我的matlab是装在C:\matlab6
源文件说明:
pub\目录下是要调用DLL的C主程序,行末有//matlab是我加的语句
pub\m目录下matlabfilter.m是要编译的matlab文件,linkm.bat及link2.bat是mcc编译.m文件,c文件已经生成,这两个任意一个都可以编译(可能是编译有问题,但我找不出来)
pub\lib目录下是matlab本身带的要link的编译库,我已经把要的lib添加在工程中,如果下的是pub1.zip,则要自添加lib文件到pub下的lib文件夹,或者告诉工程文件你的库的位置。
pub\debug是我编译C主程序的地方,执行有问题:-(