想用VC6和MATLAB混合编程,用MATLAB调用VC的代码,已经编辑好了xxx.cpp,在matlab下生成.mex文件时,(执行mex xxx.cpp指令),会报下面的错:
C:\DOCUME~1\MORNIN~1\LOCALS~1\Temp\mex_3DBBF20D-0076-443C-D5B3-9E84AA2FEDCB\RS_Encode.obj  
   Creating library C:\DOCUME~1\MORNIN~1\LOCALS~1\Temp\mex_3DBBF20D-0076-443C-D5B3-9E84AA2FEDCB\templib.x and object C:\DOCUME~1\MORNIN~1\LOCALS~1\Temp\mex_3DBBF20D-0076-443C-D5B3-9E84AA2FEDCB\templib.exp 
nafxcw.lib(appcore.obj) : error LNK2001: unresolved external symbol ___argv 
nafxcw.lib(appcore.obj) : error LNK2001: unresolved external symbol ___argc 
nafxcw.lib(filelist.obj) : error LNK2001: unresolved external symbol __mbctype 
nafxcw.lib(timecore.obj) : error LNK2001: unresolved external symbol __mbctype 
nafxcw.lib(apphelp.obj) : error LNK2001: unresolved external symbol __mbctype 
RS_Encode.mexw32 : fatal error LNK1120: 3 unresolved externals 我查了一下这些错误需要在vc编译器中加入_afxdll,但是我现在是要在MATLAB下生成,无法直接操作vc。请教各位高人指点

解决方案 »

  1.   

    看错误提示信息,楼主应该是在混编配置过程中出现了问题,建议再仔细看下Matlab扩展编程
      

  2.   

    你说的扩展编程指的是MATLAB的帮助吗?
      

  3.   

    是编译器未找到实现函数的文件,一般在LIB或DLL里面实现.看缺少哪个DLL.
      

  4.   

    我说了,是缺少_afxdll这个文件,但是不知道在MATLAB的什么地方加
      

  5.   

    《Matlab扩展编程》是清华大学出版社出版的一本书,网上有电子版的,你可以看一下
    里面包含了Matlab和vc混编的详细讲解,其中就有涉及到生成.mex文件的相关问题
      

  6.   

    只需要加入_afxdll对应的mex文件,7.1版本后matlab中米有dll文件的~
      

  7.   

    楼上可以说的更清楚些吗?我觉得好像是编译器的问题,但是我怎么样才能修改matlab的这个编译器,能加入_afxdll这个文件啊?