2023年12月20日发(作者:)

VS2008常见问题汇总

作者 邵发

官网

本文档是《C/C++学习指南》系列教程的配套资料,最新版本请到官网下载。

1. 为什么VS2008安装不了?

大多数同学的安装都没有问题。如果你的安装有问题,很可能是你的Windows系统是精简版的。尝试以下办法:

* 重新启动电脑,再安装试试

* 重装一个完整版的Windows,不要用ghost安装盘,再试试

* 放弃VS2008,试一下VS2010能不能装上。

2. 为什么我的VS2008不显示行号?

如图所示,每行前面的数字叫做“行号”

按照下面的方法,将VS2008的行号显示出来:

在菜单里执行“工具 | 选项”

左侧选择“文件编辑器 | C/C++”

3. 怎么修改VC里编辑器的字体大小?

在VS的菜单“工具 | 选项”

4. 我建立第一个Hello,World项目都不成功?

好吧,你是不够仔细了,请严格按照这个文档最后面的附录1、不要有任何改动来操作一遍。

5. 编译错误: 找不到stdafx.h ?

在新建项目的时候,选择“空项目”

6. 项目编译成功了,但是在Debug目录下找不到?

并不是找不到,而是后缀名默认是不显示的。

在Win7下,在控制面板里找到“文件夹选项”,在“查看”选项卡里,不要勾选“隐藏已经文件类型的扩展名”。如下图所示。

7. 按Ctrl+F5运行程序时,程序一闪即退?

这种问题在Win XP上会出现,在Win7以上版本不会出现。

所谓一闪即退,是程序的正确退出。

如果你的电脑上是Win XP,则使用这样的代码:

#include

#include // 这里加一行

int main()

{

}

system("PAUSE"); // 这里加一行

return 0;

printf("hello,world!n");

8. 编译时提示cannot open *.exe for writing?

例如:

fatal error LNK1168: cannot open Debug/ for writing

在WinXP上会有这个问题。

这是因为你上次运行程序后,没有把你的关闭。

解决办法:每次运行完毕后,关闭控制台窗口。

9. 如何像视频里演示的那样,一次性地注释多行?

需要你安装Visual Assist X,这是个VS2008的插件。

安装VA后,即可以实现一次注释多行:

- 选中多行,按/键,就可以了

10. 为何我的VS2008没有视频里的那种快速自动补全功能?

请安装Visual Assist X。

在官网上下载此软件,里面有安装说明。

11. 为何我的放在别人的电脑上无法运行?

答案:需要将项目设置为静态编译。静态编译出来的 *.exe可以直接发给别人使用(不需要别人在电脑上安装VC)

方法:

右键点你的项目,在右键菜单里点“属性”,

在“配置属性 | C/C++ | 代码生成”里,将运行时库选择为 "/MTd"

然后重新编译项目即可。

如下图所示:

重新编译:

12. 如何在命令行窗口cd到一个目录?

参考1.1讲行操作

例如

cd /d c:testHello

cd /d e:whatMyTest

注意,使用参数 /d ,这个/d是一个参数,d的意思是drive。(很多同学错误以为这是D盘的意思)

13.

VS2013下面为什么用scanf会编译器报错?

VS2013不让用scanf了。解决办法:在代码的最上面添加一行,如下所示,

#define _CRT_SECURE_NO_WARNINGS

#include

int main()

{

}

printf("hello,world!n");

return 0;

14. 无法解析的外部符号_main

生成项目时出错,提示无法解析的外部符号_main,如下图所示:

原因:你的代码里没有 main函数。新手往往会把 main 写成 mian,自己检查一下吧

15. 无法解析的外部符号_WinMain

生成项目时出错,提示无法解析的外部符号_WinMain,如下图所示,

原因:在创建项目时,项目类型应该选“控制台应用程序”。

16. 为什么没有显示左侧的“解决方案资源管理器”?

原因:应该是你不小心叉掉了这个窗口。

解决方法:在菜单里选择“视图 | 解决方案资源管理器”即可显示。

17. 我的电脑上有VS6.0,但我不会卸载VS6.0,怎么办?

没有关系。直接装VS2008,两者可以并存的。

18. 我的电脑上有VS2013或2015,能不能凑合用?

可以凑合用。在使用scanf时会有问题,问题的解决办法见本文档。

19. 编译第一个项目时显示:“生成时出错”

提示错误:error prj003: 生成时出错

原因:你的Windows系统有问题,不要用XXX ghost安装盘,换一个正常版本的Windows。

建议:重装一个正常的系统,或者换装VS2010,2012,2013,2015,只要有一个好用就行。

20. 视频网站速度好卡,不清楚,或者登录不上去

本套视频在多家网站上发布,除了第一集略有不同之外,其他部分相同。

推荐到优酷上观看,支持超清、高清观看,也支持下载到本地观看。(用优酷客户端,可以将优酷上的视频下载到本地,存为MP4文件)

21. 编译错误提示:_main 已经定义

按F7生成项目时出错,提示_main已经在中定义

原因:大家在初学时往往喜欢在一个把所有的练习cpp放在同一个项目下面,这样是不可以的。如下图所示,有的同学会在一个项目下面放多个cpp,例如"练习"和"练习",这样很可能会导致上面的编译错误,具体原因在第18章中才有讲解。

解决办法:

第一种办法:对于新手来说,建议在一个项目中只保留一个cpp文件。(推荐)

第二种办法:只保留一个main,其他cpp里的main改名为main1, main2,防止重名即可

22. fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏

右键点项目,属性,“清单工具 | 输入和输出 | 嵌入清单”(如下图),选择“否”,点确定按钮。然后,点一下菜单里的“生成 | 重新生成解决方案”,重新生成一下应该就可以了。

23. 附录1 使用VS2008建立第一个Hello,World项目

这个步骤就是视频1.2里的截图,为了避免有些同学看视频不仔细,在此篇附录中描述一下整个流程。

(1) “文件 | 新建 | 项目”

(2) 新建项目

注意图中的红圈处。新手第一次操作的时候,为了避免不必要的麻烦,请完全照抄。熟了之后再自己改名字。

(3) 这个对话框不需要改什么。点“下一步”就行。

(4) 注意红圈处的选择。一定要把“空文件”打上勾。

(5) 右键点项目名称 ,“添加 | 新建项 ”

(6) 注意红圈处的选择。输入

(7) 双击,编辑代码。一定要注意,C++里的标点符号是严格有意义的,不能丢,不能改。

(8) 编译,运行

按F7编译,检查有没有问题

(9) 如果编译没有问题,则按Ctrl + F5运行