Mex混合编程专题一:Mex环境搭建

使用Matlab时间长了,难免会碰到使用mex文件的经历,不管是别人的还是自己的,就比如MatConvNet(http://www.vlfeat.org/matconvnet/)使用了混合编程的技术实现训练速度的提高。

1. MEX的是什么?

写MEX程序其实就是写一个DLL程序,不出意外的话,按照mex文件规范生成的dll文件,把尾缀由dll改成mexw32/mexw64是都能是合理的。

2. VS2010中配置环境

打开VS2010, 新建项目, 选择MFC DLL,建立mextest项目.

a. 配置项目属性

打开项目属性配置页,

1) C++ -> 附加包含目录 加入MATLAB安装目录下的 \extern\include 路径。

2) 连接器 -> 附加库目录 加入MATLAB的 \extern\lib\win32\microsoft 路径。

这个地方一定要对应自己的matlab版本,因为x64matlab的lib文件只能使用在64位的工程里面。

3) 连接器 -> 输入 -> 附加依赖项 输入libmx.lib; libeng.lib; libmat.lib; libmex.lib 这四个lib文件。

b. 编辑输出函数

在项目源文件的. def 中EXPORTS段加入 mexFunction, 如:

EXPORTS
    ; 此处可以是显式导出
    mexFunction

如果生成的项目没有.def文件,那么有这么两个解决方法:

法① 你可以先在项目里添加个文件后缀名为.def 然后在设置链接器:项目->右键->属性->链接器->模块定义文件

法② 在工程右键,添加项,添加模块定义文件,搞定~

那到了这里,就配置完啦。

接下来就是如何在配置好的工程里面大展拳脚了!

1. 任何单位或个人认为本博的内容可能涉嫌侵犯其合法权益,可以及时的联系我(olenet#126#com),我会立即更正或删除。

2. 欢迎转载,记得贴链接^_^。www.cnblogs.com/OleNet

时间: 2024-10-11 06:36:51

Mex混合编程专题一:Mex环境搭建的相关文章

Windows 64 + Matlab 64 MEX混合编程初步

说明 Matlab混合编程 下载与安装编译器 Microsoft Windows SDK 71CC TDM-GCCgccg 选择编译器 编写ccpp文件 mexFunction函数介绍 编译多个ccpp文件 ProblemSolution 找不到编译器或SDK Problem Solution 注意 error C2143 syntax error Problem Solution 说明 Matlab版本:Matlab R2014a 64-bit 操作系统版本:Windows 8.1 64-bi

小白从零开始学编程--python安装与环境搭建

前言 从2020年3月份开始,计划写一系列文档--<小白从零开始学编程>,记录自己从0开始学习的一些东西. 第一个系列:python,计划从安装.环境搭建.基本语法.到利用Django和Flask两个当前最热的web框架完成一个小的项目 第二个系列:可能会选择Go语言,也可能会选择Vue.js.具体情况待定,拭目以待吧... python安装与配置 python2 在2020年初开始已经不再维护,所以学习只讨论python3 windows环境 下载python3安装包 到官方网站下载选择合适

FFMPEG高级编程第一篇:环境搭建及编译

前段时间在翻看电脑里面资料时,发现了以前做的在嵌入式硬件上面运行以ffmepg为基础,以嵌入式硬件解码的多媒体播放工作,发现都快忘记完了.今日得闲整理温习了一下ffmpeg在嵌入式上的运用,这里给大家分享一下,顺便做了一下记录以备以后使用时参考. 本文(记录)与目前网上很多关于ffmpeg的文章相比有两个特点: 一.重点不在于ffmpeg的解码部分(这个本来是ffmpeg最大的亮点),为什么?前面说了,这是我以前工作的一个整理.况且关于ffmpeg的解码相关文章非常多了,如果大家感兴趣的话,可以

Android Things专题3 开发环境搭建

文| 谷歌开发技术专家 (GDE) 王玉成 (York Wang) 物联网 (IoT) 的应用开发,离不开跟开发板打交道,我们需要配置好开发板的各种环境,最后才能用 Android Studio 进行应用开发. 我们今天就以 Raspberry Pi 3 为例,一起来搭建 Android Things 的开发环境. 硬件准备 Raspberry Pi 3 的硬件开发板就长这样: 开发板是有了,但是我们应该怎么用开发板呢?那好,我们先进一步了解并分析开发版的功能: 玩过 Raspberry Pi

html5开发移动混合App系列2-开发环境搭建(windows)

Java下载: http://www.oracle.com/technetwork/java/javase/downloads/index.html 环境变量: JAVA_HOME=C:\Program Files\Java\jdk1.8.0_25 PATH=%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; 测试: javac 安装nodejs no

html5开发移动混合App系列1-开发环境搭建

最近公司准备开发门店收银系统,是基于IPAD的程序,决定采用基于 Ionic + Cordova + AngularJS技术混合开发模式. 准备 一台mac(安装了mac os的虚拟机也可以),nodejs,ionic,xcode 安装 1,安装nodejs 到官网下载nodejs安装包(pkg文件),需要0.10.*及以下的版本,高版本会有很多插件不可用.我使用的版本是v0.10.38(下载地址:http://nodejs.org/dist/v0.10.38/  ) ,下载完成之后直接打开按提

[转] Matlab与C++混合编程,添加OpenCV库

原文地址 峰回璐转 最近在做运动医学软件优化工作,此款软件框架及算法语言全由matlab实现,虽然matlab矩阵运算.数值计算能力强大,但速度让人难以忍 受.软件立刻移植到C++上又不太实际,故采用联合编程的方式,速度难以容忍的算法交给C++实现,C++在实现代码的过程中某些数值计算及图像处理算法 调opencv库函数. 在网上有很多matlab编写mex函数调用opencv库的方法,但都不能直接拿来.经过一步步试验,修改,最终完成,现将过程及内容记录下来留给后来人参考. 第一步: (参考参考

Matlab与C++混合编程,添加OpenCV库

最近在做运动医学软件优化工作,此款软件框架及算法语言全由matlab实现,虽然matlab矩阵运算.数值计算能力强大,但速度让人难以忍受.软件立刻移植到C++上又不太实际,故采用联合编程的方式,速度难以容忍的算法交给C++实现,C++在实现代码的过程中某些数值计算及图像处理算法调opencv库函数. 在网上有很多matlab编写mex函数调用opencv库的方法,但都不能直接拿来.经过一步步试验,修改,最终完成,现将过程及内容记录下来留给后来人参考. 第一步: (参考参考资料1,但其写的不够详细

opengl基础学习专题 (一 )编程环境搭建

题外话: 第一次在博客园上同大家分享博文.水的的地方,错别字的地方.环境交流.批评.知道了马上改. 以前在百度空间中写技术分享博文,后来百度啥也没说就把整个空间封了.当时感觉 还是有点寒心.只想黑一下它,厂长老了.场子也该换了. 对于想写个oepngl基础学习的专题,主要是网上资源有点老,好多都运行不了,买了红宝书<<OpenGL 编程指南 第8版>>,看了还看,觉得有点专业,优化和技术核心讲的的多. 而且都是代码片段,像自己这种门外汉学习起来还是觉得基础不行.需要恶补一下关于 f