监视变量显示未定义标识符:

  VS2012在编译的时候采用了较快的编译模式,所以有些变量就显示未定义了。 
  解决方案: 
  项目->属性->c/c++->优化->改为禁用/OD 
  重新编译就可以了。

'scanf': This function or variable may be unsafe. Consider using scanf_s instead

  这种错误,这是新版vc库添加的警告因为微软认为scanf的使用存在安全隐患,因为C/C++中的字符串处理都是以\0为截止符的,如果搜索不到\0,容易出现字符串越界所有vc扩展的所谓安全标准库,都添加了一个参数用以指定字符串参数的长度,用以避免这种安全隐患。
  解决方案:
  项目 -> 属性 -> C/C++ -> 预处理器 ->预处理器定义:添加 _CRT_SECURE_NO_DEPRECATE

 发布的程序在其他电脑上无法运行

  解决方案:
  使用VS2010编译的程序在windows xp中运行时,经常会出现找不到相关的DLL文件,我们可以使用静态编译的方法把这些运行依赖文件打包到*.exe中来,以减少对环境的依赖。
  一般可以配置以下两项:
  (1)项目 -> 属性 -> 配置属性 -> 常规 -> MFC的使用 :在静态库中使用MFC。
  (2)项目 -> 属性 -> 配置属性 -> C/C++ -> 代码生成 -> 运行库 :多线程(/MT)。

工具菜单下没有外部工具(VS2008遇到的)

  解决方案:
  工具 -> 自定义 -> 命令
  在左边的一栏中选择工具,然后在右边的一栏中找到外部工具,拖动到最上面的菜单里。

调试时加载符号

  解决方案:
  工具 -> 选项 -> 调试 -> 符号
  取消MicroSoft符号服务器的勾选

 修改默认栈的大小

   #pragma comment(linker, "/STACK:102400000,102400000")

使用VS2010以后的版本创建C++窗体程序

  VS2010以及以前的版本,创建项目时都可以在CLR下找到“Windows窗体应用程序”的项目模板,但是VS2012以后的版本就没这么方便了。可以通过打开旧版本的项目来修改,也可以像下面这样操作:

这里就以VS2015为例,打开VS2015如下图所示:

  众所周知,WinForm需要.NET的支持。因此我们需要建立一个CLR空项目,步骤如下:

  ①新建项目

  ②选择CLR空项目

  ③结果

  添加WinForm头文件:

  ①右键点击头文件,添加新建项

  ②选择UI的Windows窗体

  ③结果

  注意,在第三步结果这里,可能会(请注意!是可能,反正在我的电脑上发生了)报错:若要在加载设计器前避免可能发生的数据丢失,必须纠正以下错误。 

  这里可以不必理会,请按照步骤继续走。   

  这里出现了大家所熟知的窗体设计器,但是还是没能允许,因为没有主函数。需要继续进行如下操作:

  ①编写主函数代码

  代码这里给出了,大家注意修改对应的命名空间名称及窗体类名称。

  当你走到此处时,保存修改,将那个报错的窗口关掉,然后重新打开,你就会发现,是下面这样的:

  一切OK了!庆祝一下

  ②点击“本地Windows调试”,结果:

  而后: 

  我们发现程序可以成功编译运行了,但是还留着一个黑乎乎的控制台。接下来,我们就通过设置取出这个控制台:

  ①右键点击项目,设置项目属性

  ②子系统改为窗口

  ③入口函数设置为main

  ④再次执行,黑框就不见了

 VS2008中编译通过,但调试时出现“未使用调试信息生成二进制文件”的问题

问题在于,没有生成调试文件pdb,所以无法调试。

要让项目生成pdb文件,需要更改:

项目属性,configuration properties->linker->Generate Debug Info 从 no 改为 yes

但这样还是不够的,还需要更改:

项目属性,configuration properties->c/c++->debug information format为/ZI

项目属性,configuration properties->c/c++->optimization为Disabled

因为为了生成这个文件,需要设定debug信息的格式并关掉O2,还要更改linker生成调试信息的开关

Visual Studio蛋疼问题解决(1)的更多相关文章

  1. Visual Studio蛋疼问题解决

    监视变量显示未定义标识符: VS2012在编译的时候采用了较快的编译模式,所以有些变量就显示未定义了.  解决方案:  项目->属性->c/c++->优化->改为禁用/OD  ...

  2. Visual Studio蛋疼问题解决(2)

    Astyle配置 1.下载并安装Astyle(AstyleExtension.vsix),重新启动VS: 2.工具->选项,从左侧列表找到AStyleFormatter,在右边编辑参数,参考设置 ...

  3. Microsoft Visual Studio 2015 下载、注册、安装过程、功能列表、问题解决

    PS:请看看回复.可能会有文章里没有提到的问题.也许会对你有帮助哦~ 先上一张最终的截图吧: VS2015正式版出了,虽然没有Ultimate旗舰版,不过也是好激动的说.哈哈.可能有的小伙伴,由于工作 ...

  4. Visual Studio 2015出现Cannot find one or more components. Please reinstall the application.的问题解决

    cd C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE devenv.exe /resetuserdata devenv. ...

  5. 使用Visual Studio 调试断点不起作用的问题解决办法 调试Revit CAD 不能进入断点

    随着Visual Studio 2010正式版的发布,相信不少人都像我一样升级到了Visual Studio 2010.那么您在使用VS2010在AutoCAD,Map 3D或Revit的.net应用 ...

  6. win7(64位旗舰版)visual studio 2017无法安装及vs2015闪退问题解决方式

    折腾了两天,几乎试了网上说的所有方法(就差重装系统了,看到有人说重装系统之后还是同样的问题,果断放弃重装),visual studio 2017的安装问题终于解决了,为了帮助同样还在折腾的初级开发者们 ...

  7. Visual Studio Installer闪退问题解决方法

    Visual Studio 2019安装推荐的方式是通过官方给的Installer进行的(2017也是同样方法),但是有时会出现在”即将完成…一切即将准备就绪“这个界面闪退的问题,导致软件的安装.卸载 ...

  8. Visual Studio Code 使用Git进行版本控制

    Visual Studio Code 使用Git进行版本控制 本来认为此类教程,肯定是满网飞了.今天首次使用VS Code的Git功能,翻遍了 所有中文教程,竟没有一个靠谱的.遂动笔写一篇. 请确保你 ...

  9. Apworks框架实战(四):使用Visual Studio开发面向经典分层架构的应用程序:从EasyMemo案例开始

    时隔一年,继续我们的Apworks框架之旅.在接下来的文章中,我将逐渐向大家介绍如何在Visual Studio中结合Apworks框架,使用ASP.NET Web API和MVC来开发面向经典分层架 ...

随机推荐

  1. 限制textfield的文字长度

    -(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementSt ...

  2. 关于content-type

    content-type 包含了表单类型和边界字符串信息. 关于content-type get请求的headers中没有content-type这个字段 post 的 content-type 有两 ...

  3. [转]C#多线程和线程池

    鸣谢原文:http://www.cnblogs.com/wwj1992/p/5976096.html 1.概念  1.0 线程的和进程的关系以及优缺点 windows系统是一个多线程的操作系统.一个程 ...

  4. CSDN日报20170527 ——《人机大战,历史的见证》

    在网络层,互联网提供所有应用程序都要使用的两种类型的服务,尽管目前理解这些服务的细节并不重要,但在所有TCP/IP概述中,都不能忽略他们: 无连接分组交付服务(Connectionless Packe ...

  5. vue2.x directive - 限制input只能输入正整数

    onlyNum.js import Vue from 'vue' //只对input生效 export default function (el) { var input = el; input.on ...

  6. linux进程的有效用户ID

    进程的有效用户ID用于文件访问时的权限检查.通常,有效用户ID等于实际用户ID(也就是你登录是的用户ID),有效组ID等于实际组ID. 我们知道每个文件针对不同的user有不同的读.写.执行权限.当执 ...

  7. 优动漫结合Photoshop怎么画草地?

    今天继续技法教学~草地的技法,PS教学~但是很简单,都是默认工具,而且是常用工具VS常用设置.你肯定会学会的! 草地教程,就到这里啦!有兴趣的可以尝试画一画哦,想要Get到更多有关优动漫的信息包括软件 ...

  8. 路飞学城Python-Day23(practise)

    本章总结 练习题 什么是C/S架构? 互联网协议是什么?分别介绍五层协议中每一层的功能? 基于tcp协议通信,为何建立链接需要三次握手,而断开链接却需要四次挥手 为何基于tcp协议的通信比基于udp协 ...

  9. 路飞学城Python-Day19

    [23.绑定方法与非绑定方法介绍] 再类的内部的定义的函数分为两大类: 1.绑定方法: 绑定到对象的方法:直接用def做的函数属性,类内部定义的函数,如果没有绑定装饰器,就是给对象使用的函数,绑定给谁 ...

  10. Day 02 - 02 编程语言的分类

    编程语言的分类 机器语言分为: 1.机器语言 优点:执行代码效率非常快 缺点:开发效率低 2.汇编语言 优点(相对于机器语言):开发效率高 缺点(相对于机器语言):执行效率低 3.高级语言 解释型(同 ...