Visual Studio是Windows平台下进行项目管理和开发的终极利器。除了微软自家的技术外,新版的VS不但支持Javascript, Python的开发调试,甚至还支持了Android, iOS应用开发,不可谓不强大。对于我个人而言,VS主要是用来做C/C++开发,作为Qt开发的IDE来代替QCreator,简直是本人的最爱。曾经说过不太喜欢QCreator来开发Qt应用,因为在程序编译出错时,QCreator的提示非常不友好。不知道QCreator经过了数个版本的发展,现在是否有改进。这篇博文记录两个在使用VS过程中的问题,算是比较常见的问题。

Visual Studio中新建x64类型解决方案

Visual Studio在新建工程时,其工程模板中默认只提供了32位的工程:

而有时候我们的程序需要编译64位版本,提供给64位的操作系统使用。这个时候我们需要手工新建“平台”了。右键选中项目,在菜单中选择“属性”,弹出“项目属性”对话框,右上角选择“配置管理器”,如下:

在“活动解决方案平台”中选择新建,弹出如上所示的对话框。在“新建平台”下拉框中选择“x64”,然后选择确定即可。这时候可以看到项目的平台属性为“x64”了。编译出来的可执行程序就可以在64位机器上运行了。但是要注意的是:当一个VS解决方案中如果存在多个项目时,这时如果要新建平台的话,要谨慎选择上图中红框限定的选项了。因为有可能其他的项目已经新建过了命名为“x64”的“平台”了。这个时候再新建的话就会产生冲突。要解决冲突的话,把红框中的选项取消掉即可。

另外还有一个地方需要注意:在新建x64平台时,其平台属性配置是从Win32复制过来的。因此,有些属性需要根据情况修改(如预处理器定义)。

Unicode字符集

Unicode字符集也是VS工程的一个属性,指定在该项目中使用什么样的字符集。最近在改造公司的一个项目的日志文件时,由于以前的日志在输出时无法正常保存中文,因此需要日志文件支持宽字符的输出。在改造完底层的日志函数之后,在应用程序中调用日志函数时竟然报错:

尽管我辣么明显的加上了TEXT宏,VS仍然提示我参数类型不对!前思后想一番突然想到,难道是项目字符集的问题?不然的话加了TEXT宏应该会有效果啊!于是打开项目属性页面看看,果然:

在“字符集”一栏显然什么都没有设置。极有可能是这个原因导致的。于是当机立断将其设置为“使用Unicode字符集”:

保存一看,错误已经消失的无影无踪……可见,正确的设置好项目的字符集编码,对于TEXT宏正常工作还是非常重要的。至此,项目中的日志文件改造也就顺理的完成了。

记录visual Studio使用过程中的两个问题的更多相关文章

  1. Visual Studio 2019 preview中体验C# 8.0新语法

    准备工作: Visual Studio 2019 Preview版本中并没有包含所有的C# 8.0的新功能,但目前也有一些可以试用了.在开始之前,需要进行入两项设置: 将Framework设置为.ne ...

  2. Android Studio使用过程中常见问题及解决方案

    熟悉Android的童鞋应该对Android Studio都不陌生.Android编程有两个常用的开发环境,分别是Android Studio和Eclipse,之前使用比较多的是Eclipse,而现在 ...

  3. 在Visual Studio for Mac中使用fastlane管理iOS的provision

    Xamarin开发中,最烦的就是provision的管理了. 全手工的话,要先创建一个key,上传后生成cert文件,再创建provision.如果在手机上调试,还要把手机加到provision中去. ...

  4. 在 Visual Studio for Mac 中编译和生成

    使用Visual Studio将C#生成DLL文件的方法 https://www.cnblogs.com/AaronBlogs/p/6840283.html Visual Studio 开发 - Vi ...

  5. 在 Visual Studio 调试器中指定符号 (.pdb) 和源文件

    查找并指定符号文件和源文件:指定符号加载行为.使用符号和源服务器上:加载符号自动或在要求.   内容 查找符号 (.pdb) 文件 查找源文件   查找符号 (.pdb) 文件 说明 在之前的 Vis ...

  6. Visual Studio App Center 中的 Bug 跟踪服务

    我在之前的一篇文章 <使用 Visual Studio App Center 持续监视应用使用情况和问题> 中介绍了 App Center 的基本功能及使用入门,其中 诊断 可以自动手机用 ...

  7. 再次记录 Visual Studio 2015 CTP 5 的一个坑

    接上一篇:升级 Visual Studio 2015 CTP 5 的坑.坑.坑 升级到 VS2015 CTP 之后,今天要改项目中的一个东西,然后就不得不把 C# 6.0 改变的语法代码中改了下(之前 ...

  8. Visual Studio 2015 RC中的ASP.NET新特性和问题修正

    (此文章同时发表在本人微信公众号"dotNET每日精华文章") 微软在Build大会上发布了Visual Studio 2015 RC,这也预示着Visual Studio 201 ...

  9. 在Visual Studio 2010/2012中 找不到创建WebService的项目模板

    参考文章: http://blog.sina.com.cn/s/blog_6d545999010152wb.html 在 Visual Studio 2010 或者2012的新建 Web 应用程序或者 ...

随机推荐

  1. SQL Server 2008, 2008 R2, 2012 and 2014 完全支持TLS1.2加密传输

    SQL Server 2008, 2008 R2, 2012 and 2014 完全支持TLS1.2加密传输 微软高兴地宣布所有主流SQL Server客户端驱动和SQL Server发行版已经支持T ...

  2. CYQ.Data.Orm.DBFast 新增类介绍(含类的源码及新版本配置工具源码)

    前言: 以下功能在国庆期就完成并提前发布了,但到今天才有时间写文介绍,主要是国庆后还是选择就职了,悲催的是上班的地方全公司都能上网,唯独开发部竟不让上网,是个局域网. 也不是全不能上,房间里有三台能上 ...

  3. 微软发布TX(LINQ To Logs And Traces)

    微软开源技术公司于发布了Tx,这是一个Apache 2协议的开源项目,可以使用日志/跟踪文件辅助调试,以及创建实时监控和告警系统. 下面是几个引人关注的功能-- 允许在原始事件源上使用LINQ 允许在 ...

  4. ABP理论学习之SignalR集成

    返回总目录 本篇目录 介绍 安装 建立连接 内置功能 你自己的SignaR代码 介绍 Abp.Web.SignalR 使得在基于ABP的应用程序中使用 SignalR相当容易.查看SignalR文档获 ...

  5. DDD实践问题之 - 关于论坛的帖子回复统计信息的更新的思考

    之前,在用ENode开发forum案例时,遇到了关于如何实现论坛帖子的回复的统计信息如何更新的问题.后来找到了自己认为比较合理的解决方案,分享给大家.也希望能和大家交流,擦出更多的火花. 论坛核心领域 ...

  6. Unity3D游戏开发初探—4.开发一个“疯狂击箱子”游戏

    一.预备知识—对象的”生“与”死“ (1)如何在游戏脚本程序中创建对象而不是一开始就创建好对象?->使用GameObject的静态方法:CreatePrimitive() 以上一篇的博文中的“指 ...

  7. [Voice communications] 音量的控制

    改变音频的音量是音频处理中最基础的部分,我们可以利用 GainNode 来构建 Mixers 的结构块.GainNode 的接口是很简单的: interface GainNode : AudioNod ...

  8. 玩转Windows服务系列——无COM接口Windows服务启动失败原因及解决方案

    将VS创建的Windows服务项目编译生成的程序,通过命令行 “服务.exe -Service”注册为Windows服务后,就可以通过服务管理器进行管理了. 问题 通过服务管理器进行启动的时候,发现服 ...

  9. C#设计模式之装饰者

    IronMan之装饰者 前言 上一篇的文章我们讲到要给"IronMan"配备"武器",并且还使用了"武器",效果还是不错的,对于多种环境.多 ...

  10. Modern OpenGL用Shader拾取VBO内单一图元的思路和实现(2)

    Modern OpenGL用Shader拾取VBO内单一图元的思路和实现(2) 上一篇里介绍了Color-Coded Picking的思路和最基本的实现.在处理GL_POINTS时已经没有问题,但是处 ...