作者:朱金灿

来源:http://blog.csdn.net/clever101

1. error C2011: '_INTERFACE_INFO' : 'struct' type redefinition的问题。

对于VC 6.0工程,在StdAfx.h里的所有包含头文件之前添加下面两句代码:

#define WINVER 0x0501
#define _WIN32_WINNT 0x0501

对于VC 6.0以上的工程,则需要修改targetver.h,把其中的 0X0600 修改为 0X0501,即:

#define WINVER 0x0600 ===>> #define WINVER 0x0501

#define _WIN32_WINNT 0x0600 ===>> #define _WIN32_WINNT 0x0501

2.运行时出现__security_init_cookie的错误。

在集成mcc编译生成的库后运行出错,错误代码处为:

#if defined (_WIN64)
cookie = systime.ft_scalar;
#else /* defined (_WIN64) */
cookie = systime.ft_struct.dwLowDateTime; // 出错处
cookie ^= systime.ft_struct.dwHighDateTime;
#endif /* defined (_WIN64) */

请重新运行mex -setup 和mbuild -setup两个命令对编译器进行配置。

3.在使用mcc工具对m文件进行编译时出现错误:

The file

'E:\MyApp\src\CombineDev\Matlab\mccdemo1.dll'

appears to be a MEX-file. It shadows the M-file

'E:\MyApp\src\CombineDev\Matlab\mccdemo1.m'

but will not execute properly at runtime, as it does not export a function named 'mexFunction.'

??? Error using ==> mcc

Error executing mcc, return status = 1 (0x1).

请确保存放你的m文件下没有对应的dll文件。比如你要编译E:\MyApp\src\CombineDev\Matlab\mccdemo1.m,请保证E:\MyApp\src\CombineDev\Matlab目录下对应生成的dll文件mccdemo1.dll,如果有,请把它删除掉。

4.在编译VC工程(该工程链接m文件生成的库)时出现一个编译错误:错误 1 error C3861: “mclInitializeApplication_proxy”: 找不到标识符 d:\src\changedetect\processdata2\processdata2.cpp 31 ProcessData2

解决办法是:将#include <mclmcr.h>注释掉,改为包含mclmcrrt.h,对mclInitializeApplication函数进行前置声明,具体代码如下:

//#include "mclmcr.h"
#include <mclmcrrt.h> EXTERN_C bool mclInitializeApplication(const char** options, size_t count);

参考文献:

1.Matlab+VC混合编程的mclmcr.h重复定义错误解决方法

2.Matlab------------GUI编程:mcc命令参数用法

3.使用MATLAB编译器实现混合编程



VC和matlab混合开发遇到的问题及其解决办法的更多相关文章

  1. VC和matlab混合开发学习

    作者:朱金灿 来源:http://blog.csdn.net/clever101 第一种方式是直接调用Matlab Engine的接口.Matlab Engine 采用Client/Server的方式 ...

  2. VC和MATLAB混合开发需要注意的一个问题

    作者:朱金灿 来源:http://blog.csdn.net/clever101 如果你的操作系统是64位操作系统,那么直接运行MATLAB的安装文件下的Setup.exe会默认安装的是64位的MAT ...

  3. VC 与Matlab混合编程之引擎操作详解

    Visual C++ 是当前主流的应用程序开发环境之一,开发环境强大,开发的程序执行速度快.但在科学计算方面函数库显得不够丰富.读取.显示数据图形不方便. Matlab 是一款将数值分析.矩阵计算.信 ...

  4. 移动端开发底部元素margin-bottom失效解决办法

    一.情景 记得之前开发一个微信端页面时,发现页面底部元素margin-bottom在ios下失效,在安卓内正常...... 1.safari浏览器内页面底部元素设置margin-bottom失效: 2 ...

  5. Android开发遇到的异常及解决办法

    Android开发遇到的错误及解决方法1. Unable to resolve target 'android-7' 解决方案: 修改工程目录下的default.properties文件里的内容tar ...

  6. [转载]常见的移动端H5页面开发遇到的坑和解决办法

    转过来,平时看看.虽然还有很多问题至今无解.比如:华为麒麟950的P8和meta打开我们的应用首页经常偶发白屏.!! 1.安卓浏览器看背景图片,有些设备会模糊. 用同等比例的图片在PC机上很清楚,但是 ...

  7. 使用MATLAB工具deploytool打包不成功的解决办法

    下面解决方法是来自百度贴吧一抹伊静的解决办法,很好用,非常感谢,现记录下来以便后续查看: 这个问题是2014a 需要破解:下载一个破解文件,原因是matlab未完全破解,2014a的破解办法:http ...

  8. 常见的移动端H5页面开发遇到的坑和解决办法

    转过来,平时看看.虽然还有很多问题至今无解.比如:华为麒麟950的P8和meta打开我们的应用首页经常偶发白屏.!! 1.安卓浏览器看背景图片,有些设备会模糊. 用同等比例的图片在PC机上很清楚,但是 ...

  9. VC和MATLAB混合开发经验总结

    作者:朱金灿 来源:http://blog.csdn.net/clever101 前期准备: 1.请确认机器中已经安装Matlab主程序或(MCR)MATLAB Compiler Runtime(具体 ...

随机推荐

  1. nios博文

    小时不识月:http://www.cnblogs.com/yuphone/archive/2010/09/20/1831448.html cracy bingo:http://www.cnblogs. ...

  2. SpringMVC,采用的是SpringJDBC

    上一次复习搭建了SpringMVC+Mybatis,这次搭建一下SpringMVC,采用的是SpringJDBC,没有采用任何其他的ORM框 架,SpringMVC提供了一整套的WEB框架,所以如果想 ...

  3. 洛谷——P2241 统计方形(数据加强版)

    https://www.luogu.org/problem/show?pid=2241 题目背景 1997年普及组第一题 题目描述 有一个n*m方格的棋盘,求其方格包含多少正方形.长方形 输入输出格式 ...

  4. GridView与ArrayAdapter的结合

    activity_main.xml: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android ...

  5. php杂项函数

    php杂项函数 一.总结 看着函说作用 函数 描述 PHP     constant() 返回一个常量的值. 4 define() 定义一个常量. 3 defined() 检查某常量是否存在. 3 d ...

  6. window.print()打印网页(一)

    有时候需要将网页内容打印到纸上,最简单的一种方法是用window对象的print方法. window.print()默认打印当前网页的所有部分.(除了背景,默认打印都是白底黑字,如果有特别的设置 要另 ...

  7. mysql 查询字段名所在的表

    select * from (select * from information_schema.COLUMNS where table_schema = '数据库名') temp where colu ...

  8. excel转换成oracle建表脚本

    package excel2sql; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundE ...

  9. 多线程之线程通信条件Condition二

    接上一篇,实现Condition三个条件,有这样一个应用: 1. 有三个进程,第一个进程运行1次,第二个进程运行2次,第三个进程运行3次: 2. 先运行第二个进程,然后第一个,然后第三个: 3.  依 ...

  10. oracle 之 COMMENT 分类: H2_ORACLE 2014-04-24 15:30 386人阅读 评论(0) 收藏

    http://blog.csdn.net/liguihan88/article/details/3002403 无疑注释现在都被大家接受和认可,在大家编程用的IDE中都提供或有第三方插件来支持提取注释 ...