`

Visual Studio 中创建项目模板——以matlab ,C++混合编程工程为例

阅读更多
写的程序多为小程序,配置基本差不多。每次都要配置Include路径及lib路径很麻烦。
当然,可以在Property Manager中将头文件路径和lib路径添加到全局表单中。但是并不是每一个工程都需要那么些路径,另外,换一台机器,路径不一样岂不是很麻烦?
于是乎,工程模板是一个不错的选择。
另外,为了便于管理,可以采用环境变量来设置路径,而非采用绝对路径。这样一来不同电脑间只需更改环境变量即可。引用的头文件版本升级时也只需重新设置环境变量即可~这一点可以通过bat文件来进行,相当的方便。

在此以VS2012中配置matlab的mex开发工程为例。


1、新建工程、更改项目属性
随便建一个工程,更改各个项目属性。
比如下图中我们要为工程加入matlab的头文件和lib文件所在路径



2、用批处理文件添加环境变量
什么?听说系统里没有上面的路径啊。。。。
那我们就手动添加吧,右键我的电脑->属性->高级->环境变量。。。。咦,这个好像有些落伍哦。。。
扯句题外话,有个叫Path Editor的工具可以图形界面修改Path路径:
http://www.redfernplace.com/software-projects/patheditor/
这里,我们采用批处理的方式,比如下面这个示例:
echo 本程序用来设置在Visual Studio中编译Mex的路径
::设置临时变量
set matlabHome0="C:\Program Files\MATLAB\R2010b"

echo 设置Matlab根目录
setx -m MatlabHome %matlabHome0%

echo 头文件路径,用分号间隔
setx -m MatlabMexInclude %matlabHome0%\extern\include

echo lib文件路径,用分号间隔
setx -m MatlabMexLib %matlabHome0%\extern\lib\win64\microsoft

::最后的/M表示修改的是全局的PATH变量;下面的句子没用,注释掉了,当然如果有DLL要添加可以放到Path路径下。
::setx path "%path%;%VS_Solution_DIR%\bin\Debug;%VS_Solution_DIR%\bin\Release" /M



3、导出模板
直接上图啦~~





4、添加模板到Visual Studio的模板路径下
如果要用刚才的模板,可以按下图所示查看模板文件所在路径,将刚才的文件放进去即可。当然,别忘了重启VS


5、用自建的模板创建工程


6、延伸阅读
到这儿,模板能用了,满足喽!
可是刚刚的工程模板只能改个工程名字。。。
于是乎,有兴趣的可以继续看官方文档,什么模板安装文件,什么设置模板的参数啦。。。反正我是懒得整了,够用了。
这里仅给个链接:
http://msdn.microsoft.com/en-us/library/ms247119(v=vs.100).aspx

7、对工程属性的具体更改
这里列出自己对工程属性的具体更改,单看模板制作的可以洗洗睡了。
目标文件的路径及后缀



开启openMP支持


增加定义


修改目标平台
略;
注意:各个平台下的配置不尽相同,需要分别调整。



8、自动修改文件名
这里的示例是将mexFunction.cpp的名称动态的改为新建工程的名称;
需要改导出的template文件的三处(解压template文件后更改)!!!好麻烦!!!
需要更改后缀为   .vstemplate;   .vcxproj;         .filters的三个文件中所有与mexFunction.cpp相关的地方!!!具体改法见下面的三张图片








  • 大小: 97.2 KB
  • 大小: 19.4 KB
  • 大小: 65.5 KB
  • 大小: 93.9 KB
  • 大小: 80.7 KB
  • 大小: 9.8 KB
  • 大小: 11.6 KB
  • 大小: 21.9 KB
  • 大小: 34.4 KB
  • 大小: 14.5 KB
  • 大小: 29.8 KB
分享到:
评论
2 楼 cherishLC 2013-09-11  
sxjk1987 写道
你好,请问你用的VS是哪个版本,不是说VISUAL C++不支持导出模板么? 下面导出模板那个选项一直是灰色,选不了。

VS 2012啊,找不到可以下最新的2013 preview啊
1 楼 sxjk1987 2013-09-10  
你好,请问你用的VS是哪个版本,不是说VISUAL C++不支持导出模板么? 下面导出模板那个选项一直是灰色,选不了。

相关推荐

    C++和MATLAB混合编程

    - 首先,在Visual Studio 2005中创建一个新的动态链接库(DLL)项目,命名为“MedianFilter”。 - 添加新的C++源文件,命名为“mexFunction.cpp”,并在其中编写MEX函数。 - 配置项目属性,添加MATLAB SDK的包含...

    混合编程——C++调用MATLAB程序

    标题“混合编程——C++调用MATLAB程序”暗示了我们要讨论的核心主题:在C++项目中集成MATLAB的功能。C++是一种通用且高效的语言,适合开发系统级和性能敏感的应用;而MATLAB则是数学、科学和工程计算的强大工具,...

    visualStudio015与matlab2016b混合编程.zip

    本压缩包文件“visualStudio015与matlab2016b混合编程.zip”着重介绍如何在Visual Studio 2015中配置和使用MATLAB 2016b进行混合编程。这一技术允许开发人员利用MATLAB的强大数学计算能力,同时借助Visual Studio的...

    matlab c++联合编程示例(visual studio2010工程),内附自己的vs环境配置笔记,计算Lp距离

    在Visual Studio 2010环境中,你需要安装MATLAB的C++编译器支持,并设置好包含路径和库路径,以便能够正确链接MATLAB的MEX库。在描述中提到的“vs的mex环境配置笔记”可能包含了详细的步骤,包括设置MATLAB的编译器...

    Matlab 2010 a和Visual Studio 2008混合编程

    本主题聚焦于“Matlab 2010a”和“Visual Studio 2008”的混合编程,这是一种高效的方法,可以充分利用Matlab的强大数学计算能力与Visual Studio的优秀工程管理及界面设计功能。 Matlab是一款强大的数学计算软件,...

    Visual studio结合matlab

    在本案例中,我们讨论的是如何在Visual Studio 2010中与MATLAB进行混合编程,这允许开发者利用MATLAB强大的数值计算能力,同时借助Visual Studio的IDE优势进行项目管理和调试。 首先,为了实现这一目标,我们需要一...

    MATLAB R2017a 支持Microsoft Visual Studio 2017补丁

    MATLAB是一款广泛应用于科学计算、图像处理、控制系统设计等领域的高级编程环境,它以其便捷的矩阵运算和图形绘制功能著称。R2017a是MATLAB的一个版本,提供了许多新特性和改进。在这一版本中,MATLAB对集成开发环境...

    数字图像处理与机器视觉——Visual C++与Matlab实现源代码

    《数字图像处理与机器视觉——Visual C++与Matlab实现源代码》这本书是关于计算机视觉领域的一个重要资源,它提供了实际编程实现的示例,帮助读者深入理解和应用图像处理和机器视觉理论。这本书的主要目标是将理论...

    MATLAB与Visual Studio系列语言混合编程的方法

    本文系统地介绍了如何在Visual Studio系列语言中,特别是C++与MATLAB进行混合编程的方法与技巧。这些方法不仅涵盖了MATLAB的基本调用,还深入探讨了如何利用MATLAB的强大数值计算功能来增强Visual Studio系列语言...

    Matlab与C++混合编程.docx

    Matlab与C++混合编程是一种高效的技术,允许开发者利用Matlab的强大计算能力与C++的高效性能和广泛应用平台。Matlab Add-in是实现这种混合编程的关键工具,它在MATLAB 6.0及后续版本中引入,但自7.0版本后不再直接...

    matlab与c++混合编程

    总结起来,“matlab与c++混合编程”主题涵盖了MEX接口的使用、C++项目配置、数据交换以及工程实践等多个方面。熟练掌握这些知识点,可以帮助开发者充分利用MATLAB和C++的能力,实现高效、灵活的混合编程解决方案。

    Matlab和C++混合编程

    【Matlab和C++混合编程】是将高性能的科学计算工具Matlab与强大的软件开发环境C++相结合,以实现各自的优势互补。这种编程方式在处理复杂计算任务和构建用户界面时特别有效。Matlab以其丰富的数学函数库和便捷的数据...

    Visual Studio与MATLAB协同编程方法研究.zip

    "Visual Studio与MATLAB协同编程方法研究"的主题旨在探讨如何利用这两款强大的开发工具——Microsoft的Visual Studio和MathWorks的MATLAB——进行高效协作,实现优势互补。Visual Studio是一款功能丰富的集成开发...

    通过matlab引擎在VS下进行实时C++混合编程 by LSS

    标题中的“通过matlab引擎在VS下进行实时C++混合编程”指的是在Visual Studio(VS)集成开发环境中,利用MATLAB Engine API实现C++代码与MATLAB代码的交互,进行实时计算的一种技术。MATLAB Engine API允许C++程序...

    Matlab与Visual Studio 2013混合编程配置文件

    Matlab与C++混合编程常常会发生找不到VS编译器的问题。根本原因是Matlab版本更新比Visual Studio滞后。 本次上载的文档应用平台: Windows 8 (x86) + Visual Studio 2013 + Matlab 2012a (32位) 将附件文档解压缩后...

    matlab与c++混合编程1

    在“matlab与c++混合编程1”这个主题中,我们主要探讨如何将MATLAB的强大数学计算能力与C++的高性能和灵活性结合起来。 MATLAB(矩阵实验室)是一种专为数值计算设计的交互式环境,它提供了丰富的数学函数库,适用...

Global site tag (gtag.js) - Google Analytics