`

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++不支持导出模板么? 下面导出模板那个选项一直是灰色,选不了。

相关推荐

Global site tag (gtag.js) - Google Analytics