water1983 发表于 2006-6-18 11:52

[求助]关于VC与MATLAB混合编程的问题

我用的是VC6.0 与MATLAB7.1
mcctest.m :
function mcctest
x=0:.01:20;
y=x.*sin(x);
plot(x,y);
xlabel('x');
ylabel('y');
动态链接库文件
<<mcc -w cpplib:libmcctest -T link :lib mcctest.m
第二步建立一个基于对话框的MFC程序。
然后吧libmcctest.h ,libmcctest.lib,libmcctest.dll.libmcctest.ctf复制到该工程的文件夹下。
并且修改了改工程的设置
在PROJECT->设置-linker-input ->附加路径添加了libmcctest.lib和MCLMCRRT.LIB
并且在Cxxdlg::中添加了#include "libmcctest.h"
可是编译过关之后。
却说ibmcctest.lib(libmcctest.dll) : error LNK2005: "void __cdecl mcctest(void)" (?mcctest@@YAXXZ) already defined in libmcctest.obj
libmcctest.lib(libmcctest.dll) : warning LNK4006: "void __cdecl mcctest(void)" (?mcctest@@YAXXZ) already defined in libmcctest.obj; second definition ignored
Creating library Debug/Ming.lib and object Debug/Ming.exp
libmcctest.obj : error LNK2001: unresolved external symbol _mclInitializeComponentInstance
libmcctest.obj : error LNK2001: unresolved external symbol ___MCC_libmcctest_component_data
libmcctest.obj : error LNK2001: unresolved external symbol _mclmcrInitialize
libmcctest.obj : error LNK2001: unresolved external symbol _mclTerminateInstance
libmcctest.obj : error LNK2001: unresolved external symbol _mclFeval
libmcctest.obj : error LNK2001: unresolved external symbol _array_buffer_to_cell
libmcctest.obj : error LNK2001: unresolved external symbol _ref_count_obj_release
libmcctest.obj : error LNK2001: unresolved external symbol _array_buffer_get
libmcctest.obj : error LNK2001: unresolved external symbol _mclcppFeval
libmcctest.obj : error LNK2001: unresolved external symbol _array_buffer_add
libmcctest.obj : error LNK2001: unresolved external symbol _array_buffer_set
libmcctest.obj : error LNK2001: unresolved external symbol _mclcppGetArrayBuffer
libmcctest.obj : error LNK2001: unresolved external symbol _mclcppGetLastError
libmcctest.obj : error LNK2001: unresolved external symbol _mclcppCreateError
libmcctest.obj : error LNK2001: unresolved external symbol _ref_count_obj_addref
libmcctest.obj : error LNK2001: unresolved external symbol _error_info_get_message
libmcctest.obj : error LNK2001: unresolved external symbol _array_ref_classID
libmcctest.obj : error LNK2001: unresolved external symbol _array_ref_number_of_elements
libmcctest.obj : error LNK2001: unresolved external symbol _array_ref_getV_int
Debug/Ming.exe : fatal error LNK1120: 19 unresolved externals
执行 link.exe 时出错.

Ming.exe - 1 error(s), 0 warning(s)
不知道是何原因,还请大侠指导一下。。。。

assist 发表于 2006-6-19 09:51

建议你看看这个帖子:http://forum.vibunion.com/thread-10693-1-1.html

water1983 发表于 2006-6-19 10:08

看的,但是它是MATLAB6.5,所以何MATLAB7.0的编译器有差别。。。
上面那个问题解决了。。。原因是不要添加.CPP文件到项目中。。。
但是又产生其他的问题了
我看例题中要添加
mclInitializeApplication(NULL,0))
以及libcopyfigureInitialize()
mclTerminateApplication()
这个三个函数,但是运行时候说这三个函数均是 undeclared identifier
请问要添加什么函数,还是要在项目工程中添加什么动态链接库。。。
急。。。谢谢
页: [1]
查看完整版本: [求助]关于VC与MATLAB混合编程的问题