一名热爱体感技术的
业余专业开发人员

混合编程中遇到的问题及解决方案汇总

2013.6.14汇总

混合编程环境 :win7旗舰 matlab2011a vs2010旗舰

混合机制: 基于engine的混合编程

 

1.

LINK : fatal error LNK1104: 无法打开文件”libmyadd2.lib”

是你自己的项目的话,把这个库的生成路径添加到附加库目录里,如果是第三方库,搜一下,同样把文件所在路径添加到附加库目录里,没有的话就去搜索下载.

 

2.

exe 无法找到入口

无法定位程序输入点array_ref_get_numeric_mcDouble于动态链接库mclmcr.dll上。

 

3.

vs2010 无法新建项目时的解决方法:

The Fix:

Reset your installation by deleting the following folders if they exist:

C:\Users\[username]\AppData\Local\Microsoft\VisualStudio

C:\Users\[username]\AppData\Local\Microsoft\vsexpress

C:\Users\[username]\AppData\Local\Microsoft\VSCommon

C:\Users\[username]\AppData\Roaming\Microsoft\VisualStudio

C:\Users\[username]\AppData\Roaming\Microsoft\vsexpress

C:\Users\[username]\AppData\Roaming\Microsoft\VSCommon

然后在从新打开vs2010即可

4.

matlab里面会常常用c编写mex文件来加快matlab的执行速度。mex的c程序中不可或缺的两个头文件:mex.h和matrix.h两个头文件。这两个头文件在matlab的安装目录里面,直接通过文件搜索就可以找到了。

5.

http://www.bci2000.org/wiki/index.php/Programming_Tutorial:Implementing_a_Matlab-based_Filter#Process

6.

matlab混合编程中用到的com接口工具,在目前2008a的版本中,打开com工具的指令已经被deploytool所取

7.

在安装番茄插件时是安装路径是C:/Users/用户名/AppData/Local/Microsoft/VisualStudio/10.0/Extensions,然后他就会自动生成

C:/Users/用户名/AppData/Local/Microsoft/VisualStudio/10.0/Extensions/Whole Tomato Software/Visual Assist X/10.7.1918.0

这样的路径,然后再用压缩包中的VA_X.dll覆盖新生成路径下的VA_X.dll 即可(下载)

8.

用vs2010 和matlab2008a混合编程遇到的问题 :error C2371: “char16_t”: 重定义;不同的基类型???

解决方法是在调用

只需在包含matrix.h之前包含yvals.h即可:

#if (_MSC_VER >= 1600)

#define __STDC_UTF_16__

#endif

9.

无法找到入口 无法定位程序输入点 mxGetRegisterInternalFcnsFcn于动态链接库libmx.dll???

这种情况是的原因是:

是环境变量。你的应用程序尝试试用一个错误版本的libmx.dll。有可能你的matlab2011a的目录在path的环境变量中出现在matlabr2008a之前。所以

检查你的path设置,使得它的bin目录在path设置中,而且比另外一个版本的目录前。

同样的思路解决的问题有:

exe 无法找到入口

无法定位程序输入点array_ref_get_numeric_mcDouble于动态链接库mclmcr.dll上。