VS2008下改变项目的默认属性
一直困拢我很久的一个问题,今天终于解决了。
就是VS2008建WIN32项目的时候,字符集系统默认设成UNICODE,每次都得手动修改过来,比较繁琐。程序员不就是尽量寻找能偷懒的方法吗?于是上网到处找,百度的找不到,我就去GOOGLE找。
这里给出解决方法:
找到
D:\Program Files\Microsoft Visual Studio 9.0\VC\VCWizards\AppWiz\Generic\Application\scripts\2052\default.js
在文件里面找到如下内容:
function AddSpecificConfig(proj, strProjectName, bEmptyProject, strAppType)
{ try { var bMFC = wizard.FindSymbol("SUPPORT_MFC"); var bATL = wizard.FindSymbol("SUPPORT_ATL"); var config = proj.Object.Configurations("Debug"); config.CharacterSet = charSetMBCS; //这里原来是charSetUnicode if (strAppType == "LIB") config.ConfigurationType = typeStaticLibrary; else if (strAppType == "DLL") config.ConfigurationType = typeDynamicLibrary; var CLTool = config.Tools("VCCLCompilerTool"); // CLTool.PrecompiledHeaderFile = "$(OutDir)/" + strProjectName + ".pch"; CLTool.RuntimeLibrary = rtMultiThreadedDebugDLL; var strDefines = CLTool.PreprocessorDefinitions; if (strDefines != "") strDefines += ";"; strDefines += GetPlatformDefine(config); strDefines += "_DEBUG"; switch(strAppType) { case "CONSOLE": strDefines += ";_CONSOLE"; if (bMFC) config.UseOfMFC = useMfcDynamic; if (bATL) config.UseOfATL = useATLStatic; break; case "LIB": strDefines += ";_LIB"; if (bMFC) config.UseOfMFC = useMfcDynamic; break; case "DLL": strDefines += ";_WINDOWS;_USRDLL;"; var strExports = wizard.FindSymbol("UPPER_CASE_SAFE_PROJECT_IDENTIFIER_NAME") + "_EXPORTS"; strDefines += strExports; if (bMFC) config.UseOfMFC = useMfcDynamic; if (bATL) config.UseOfATL = useATLStatic; break; case "WIN": strDefines += ";_WINDOWS"; if (bMFC) config.UseOfMFC = useMfcDynamic; if (bATL) config.UseOfATL = useATLStatic; break; default: break; } CLTool.PreprocessorDefinitions = strDefines; if (bEmptyProject) CLTool.UsePrecompiledHeader = pchNone; CLTool.DebugInformationFormat = debugEditAndContinue; if (strAppType != "LIB") { var LinkTool = config.Tools("VCLinkerTool"); LinkTool.GenerateDebugInformation = true; LinkTool.LinkIncremental = linkIncrementalYes; if (strAppType == "DLL" || strAppType == "WIN") LinkTool.SubSystem = subSystemWindows; else LinkTool.SubSystem = subSystemConsole; } config = proj.Object.Configurations.Item("Release"); config.CharacterSet = charSetMBCS; //这里原来是charSetUnicode if (strAppType == "LIB") config.ConfigurationType = typeStaticLibrary; else if (strAppType == "DLL") config.ConfigurationType = typeDynamicLibrary; var CLTool = config.Tools("VCCLCompilerTool"); CLTool.RuntimeLibrary = rtMultiThreadedDLL; var strDefines = CLTool.PreprocessorDefinitions; if (strDefines != "") strDefines += ";"; strDefines += GetPlatformDefine(config); strDefines += "NDEBUG"; if (bEmptyProject) CLTool.UsePrecompiledHeader = pchNone; CLTool.DebugInformationFormat = debugEnabled; switch(strAppType) { case "CONSOLE": strDefines += ";_CONSOLE"; if (bMFC) config.UseOfMFC = useMfcDynamic; if (bATL) config.UseOfATL = useATLStatic; break; case "LIB": strDefines += ";_LIB"; if (bMFC) config.UseOfMFC = useMfcDynamic; break; case "DLL": strDefines += ";_WINDOWS;_USRDLL;"; var strExports = wizard.FindSymbol("UPPER_CASE_SAFE_PROJECT_IDENTIFIER_NAME") + "_EXPORTS"; strDefines += strExports; break; case "WIN": strDefines += ";_WINDOWS"; if (bMFC) config.UseOfMFC = useMfcDynamic; if (bATL) config.UseOfATL = useATLStatic; break; default: break; } CLTool.PreprocessorDefinitions = strDefines; if (strAppType != "LIB") { var LinkTool = config.Tools("VCLinkerTool"); LinkTool.GenerateDebugInformation = true; LinkTool.LinkIncremental = linkIncrementalNo; if (strAppType == "DLL" || strAppType == "WIN") LinkTool.SubSystem = subSystemWindows; else LinkTool.SubSystem = subSystemConsole; } } catch(e) { throw e; }
}
VS2008下改变项目的默认属性相关推荐
- 【Tomcat】Tomcat下设置项目为默认项目
项目的实际使用中经常需要将当前项目设为tomcat的默认项目,而不是进入到tomcat的页面,有几种方法可以实现,注意第二种.第三种情况需要先删除webapps下的ROOT目录,否则会失败. 一. 将 ...
- TypeScript 3.0下react默认属性DefaultProps解决方案
TypeScript 3.0下react默认属性DefaultProps解决方案 参考文章: (1)TypeScript 3.0下react默认属性DefaultProps解决方案 (2)https: ...
- vs.php在win2008+vs2008下开发调试配置
装了个VS.Php.for.Visual.Studio.2008的开发工具,这个工具可以在vs的IDE环境下开发调试php程序.因为我的系统是win2008,IIS7对php的支持据说非常的好,可以不 ...
- vs2008下如何部署arcengine开发的程序
说实话本想搞WPF+ArcEngine开发的,环境都搭建好了,突然发现貌似有很多授权的问题,唯恐部署软件后不能在其它客户端上使用,而且是项目开发,于是决定先暂时放下这个想法,待联系做研究性系统时再予以 ...
- 如何通过修改注册表改变系统的默认文件夹
如何通过修改注册表改变系统的默认文件夹 注册表是windows的命根,里面储存着大量的系统信息,说白了就是一个庞大的数据库.如果你不懂什么是数据库,那没关系,不影响你了解注册表,不过最好对数据库有所了 ...
- button默认属性值、cookie、sessionStorage、localStorage(后台管理系统遇到的问题)
原生js点击button会刷新页面 原因: 使用了原生的button按钮,而使用原生按钮需要注意的是:原生按钮button默认 type='submit' 这个属性值是默认具有表单提交功能的,所以在 ...
- (转)详解Vs2008下打包安装程序的一些技巧(含win7下提权限、卸载以及安装时定向到网页)...
1.怎么使得程序窗口左上角和任务栏有图标,如下图所示: 其实这个问题不应该放到程序打包这部分讲,只不过对于一些初学者而言,在这提下也许会有很大的帮助(想到自己刚学.net那会了,呵 ...
- boost_1_48_0 在VS2008下的安装 Boost.Asio安装
第一步:到官网www.boost.org,下载boost最新版boost_1_48_0.zip 第二步:将boost压缩包解压到C盘根目录下(在C盘操作简单,不会出错),目录为C:\BOOST_1_4 ...
- 配合Opencv2.4.9,CMake3.12.1和VS2010在win10下构建项目踩坑记录
配合Opencv3,CMake和VS2010在win10下构建项目踩坑记录 参考https://blog.csdn.net/qq_26623659/article/details/78322782 博 ...
最新文章
- python中findroot_python文件查找之find命令
- Win32 基本文件读写操作
- function checkBrowser()//判断浏览器
- 庆祝教师节,李宁老师课程优惠劵疯抢中、会员卡优惠中,先到先得
- css盒子模型_说说css盒子模型
- OwlCarousel.js 帮助API
- Magnet :让Mac上的分屏更好用
- keil 函数最多可以传几个参数_Keil C51中如何让一个函数返回多个值?我把数组指针传入函数中,但发现编译后DATA区会随...
- Ax 2012批量部署报表
- 英伟达驱动安装成功之后,指令nvidia-smi表格里有ERR!
- 学习大数据,大数据专家写给大数据分析学习者的10个理由
- 计算机主板上的模块安装和拆,更换计算机主板上的内存模块插槽需要多少费用?...
- 哪款骨传导耳机好用,好用的骨传导耳机汇总
- 联想win8系统改成win7系统教程,win8系统如何装回win7
- 习题6_5 巡逻机器人(Patrol Robot, ACM/ICPC Hanoi 2006, UVa1600)
- openfire中用email作用户名注册的解决方案
- 用Photoshop来找茬
- m5310模组数据上传至onenet_m5310模组数据上传至onenet_移动M5310-A NB-IoT通信模组技术参数...
- 1. Stateflow - 基本概念,界面介绍
- 学校网站建设网站制作方案