博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VS2008下改变项目的默认属性
阅读量:4040 次
发布时间:2019-05-24

本文共 5334 字,大约阅读时间需要 17 分钟。

一直困拢我很久的一个问题,今天终于解决了。

        就是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;      }  }

转载地址:http://ioxdi.baihongyu.com/

你可能感兴趣的文章
使用“rz -be”命令上传文件至服务器;使用“sz 文件名”从服务器下载文件到本地
查看>>
mysql:pt-online-schema-change 在线修改表
查看>>
oracle 调整表空间大小 (resize)
查看>>
Oracle scn健康状态检查脚本—scnhealthcheck.sql
查看>>
Redis+TwemProxy(nutcracker)集群部署测试
查看>>
Docker mysql8.0 oltp 性能测试
查看>>
oracle 只开启一个监听端口,却多个端口都可以连接
查看>>
ORA-00600: internal error code, arguments: [qcisSetPlsqlCtx:tzi init], [], [],
查看>>
CAP理论被应用在何方?
查看>>
RocketMQ集群安装部署
查看>>
kafka搭建入门
查看>>
高并发秒杀系统的设计思考!
查看>>
K8S概念与架构总结
查看>>
架构设计和代码开发中的一些常用原则
查看>>
maven配置文件内嵌
查看>>
jvm高级特性整理
查看>>
SQL查询优化
查看>>
秒杀系统
查看>>
使用Jsoup抓取页面的数据
查看>>
时间工具类
查看>>