【MATLAB】matlabR2010a与vs2010联合编译设置

在matlab中编译C++程序,首先要配置编译器
>> mex -setup
Please choose your compiler for building external interface (MEX) files:

Would you like mex to locate installed compilers [y]/n? y

Select a compiler: 
[1] Lcc-win32 C 2.4.1 in D:\MATLAB\R2010a\sys\lcc 
[2] Microsoft Visual C++ 2010 in D:\Microsoft Visual Studio 10.0

[0] None
选择2

若没有2的选项,解决方案如下:
网上下载VS2010support文件包【VS2010MEXSupport.rar】
解压,放入相应matlab安装目录中。(例如:D:\MATLAB\R2010a\win32\mexopts)

再次运行上述代码后就会显示[2]了。

另外还有一个常见问题:
VS2010中的yvals.h与Matlab的matrix.h同时包含对char16_t的定义,当同时包含这两个头文件,
会导致重复定义char16_t的错误:
D:\Microsoft Visual Studio 10.0\VC\INCLUDE\yvals.h
(576) : error C2371: ‘char16_t‘ : redefinition; 
different basic types
D:\Matlab\r2010a\extern\include\matrix.h(330) : see 
declaration of ‘char16_t‘

最简解决方案:在包含matrix.h之前包含yvals.h
例如:

#include <yvals.h>
#if (_MSC_VER >= 1600)
#define __STDC_UTF_16__
#endif
……
#include "mex.h"

时间: 2025-01-13 02:18:38

【MATLAB】matlabR2010a与vs2010联合编译设置的相关文章

VS2010下编译配置Boost_1.53

一.准备工作 1.下载最新版本的boost库.所在地址:boost_1_53_0.zip.官方推荐7z压缩格式的,因为其压缩效率更好,相应包的大小也比较小. 2.解压缩到指定目录,如C:\boost_1_53.下面开始遵照官方页面的步骤进行编译.() 进入目录tools\build\v2\ 运行bootstrap.bat脚本文件 运行命令:b2 install --prefix=PREFIX.其中PREFIX是为Boost.Build指定的安装目录,生成的编译工具将会存放在该目录下.我指定为c:

VS2010 Boost编译安装(转载)

把项目从VS2008搬到VS2010的时候,导入原来的编译好的boost库居然连接失败, 提示:LINK : fatal error LNK1104: 无法打开文件“libboost_system-vc100-mt-1_47.lib”  错误 网上找答案,才知道不同的编译器所使用的boost库编译命令是不同的: 输入bjam --toolset=msvc-10.0 --build-type=complete stage 开始编译(VS2010的) (如果是VS2005, 则为msvc-8.0:如

在vs2010中编译log4cxx-0.10.0详细方法(从下载、编译、解决错误详细介绍)(转载)

本文一共包含了17个步骤,按照下面的步骤就可以完成vs2010中编译log4cxx的工作了. 1. 下载 log4cxx 以及 apr 和 apr-util 源码: a) http://www.apache.org/dyn/closer.cgi/logging/log4cxx/0.10.0/apache-log4cxx-0.10.0.zip b) http://archive.apache.org/dist/apr/apr-1.2.11-win32-src.zip c) http://archi

VS2010重编译OpenCV2.4.9 用于调试源代码

最近想自己编译一下OpenCV源代码,以用于调试时查看源代码运行情况. 参考网上一篇文章:<Win7x64+VS2012+OpenCV2.4.3+CMake2.8.10+TBB41重编译OpenCV> 进行配置,但是错误频频.现将配置过程进行梳理,以免大家跟我一样走太多的弯路. 1.工具 下载并安装这几个工具:CMake2.8.OpenCV2.4.9.VS2010 2.用CMake生成OpenCV2.4.9 的VS2010解决方案 基本按照文章<Win7x64+VS2012+OpenCV

在vs2010中编译log4cxx-0.10.0详细方法

本文一共包含了17个步骤,按照下面的步骤就可以完成vs2010中编译log4cxx的工作了. 1. 下载 log4cxx 以及 apr 和 apr-util 源码: a) http://www.apache.org/dyn/closer.cgi/logging/log4cxx/0.10.0/apache-log4cxx-0.10.0.zip b) http://archive.apache.org/dist/apr/apr-1.2.11-win32-src.zip c) http://archi

VS2010下编译安装DarwinStreamingServer5.5.5

源码下载链接:http://dss.macosforge.org/源码版本: 5.5.5版本电脑环境:visual studio2010,window 7 x64系统.用VS2010打开WinNTSupport文件夹下的.dsw工程,全部转换vs2010. 使用vs2010编译的遇到一些问题和解决方法:(1)          提示:winsock2某些函数重定义.方法:DarwinStreamingSrvr6.0.3-Source\CommonUtilitiesLib\OSHeaders.h(

在VS2010下编译和使用tesseract_ocr识别验证码

对于自动识别验证码,使用trsseract是个不错的选择,有兴趣的的朋友可以试试. 编译tesseract 官网提供了vs2008的编译说明和工程,但在vs2010下的编译时基本相同的,因此我使用的方法就是把vs2008工程转换为vs2010工程, 同时把编译过程中遇到的问题以及解决方法和大家分享一下,希望对正准备使用trsseract库的朋友有所帮助. 下载代码 google code下载一下源代码,并建立build目录. tesseract-ocr-3.02.02.tar.gz   tess

GCC 和 NASM 联合编译

为了学习的顺利进行,今天尝试复习 C 语言和汇编语言的联合编译.代码很简单: /* main.c */ extern void Print1(); char strFormat[] = "x = %d, y = %d, x + y = %d"; int main() {     Print1();     return 0; } ; proc.nas extern printf extern strFormat global Print1 [SECTION .data] nX dd 1

【C/C++学院】0823-静态联合编译与动态联合编译/父类指针子类指针释放/虚函数/纯虚函数概念以及虚析构函数/抽象类与纯虚函数以及应用/虚函数原理/虚函数分层以及异质链表/类模板的概念以及应用

静态联合编译与动态联合编译 #include <iostream> #include <stdlib.h> //散列 void go(int num) { } void go(char *str) { } //class //::在一个类中 class A { public: void go(int num) { } void go(char *str) { } }; void main() { ///auto p = go;编译的阶段,静态联编 void(*p1)(char *s