鱼C论坛

 找回密码
 立即注册
查看: 6318|回复: 26

一个初学者的问题

  [复制链接]
发表于 2012-2-11 13:45:43 | 显示全部楼层 |阅读模式
1鱼币
本帖最后由 Leap 于 2012-2-21 23:13 编辑

我跟教程上敲打的一样,编译时提示出现一个错误,不知道哪里错了,老师们帮帮我吧?


今天把错误提示百度一下,问题解决了。 原来是我的路径设置错了,程序没有一点问题。

VC中Error spawning cl.exe错误的解决方法.
分类: C/C++/VC——常见错误及其解决方法 2007-10-09 09:03 54992人阅读 评论(66) 收藏 举报
可能很多人在安装VC 6.0后有过点击“Compile”或者“Build”后被出现的 “Compiling... ,Error spawning cl.exe”错误提示给郁闷过。很多人的 选择是重装,实际上这个问题很多情况下是由于路径设置的问题引起的,
“CL.exe”是VC使用真正的编译器(编译程序),其路径在“VC根目录/VC98/Bin”下面, 你可以到相应的路径下找到这个应用程序。

方法一:
因此问题可以按照以下方法解决:打开vc界面 点击VC“TOOLS(工具)”—>“Option(选择)” —>“Directories(目录)”重新设置“Excutable Fils、Include Files、 Library Files、Source Files”的路径。很多情况可能就一个盘符的不同 (例如你的VC装在C,但是这些路径全部在D),改过来就OK了。


如果你是按照初始路径安装vc6.0的,路径应为:
executatble files:
C:/Program Files/Microsoft Visual Studio/Common/MSDev98/Bin
C:/Program Files/Microsoft Visual Studio/VC98/BIN
C:/Program Files/Microsoft Visual Studio/Common/TOOLS
C:/Program Files/Microsoft Visual Studio/Common/TOOLS/WINNT

include files:
C:/Program Files/Microsoft Visual Studio/VC98/INCLUDE
C:/Program Files/Microsoft Visual Studio/VC98/MFC/INCLUDE
C:/Program Files/Microsoft Visual Studio/VC98/ATL/INCLUDE

library files:
C:/Program Files/Microsoft Visual Studio/VC98/LIB
C:/Program Files/Microsoft Visual Studio/VC98/MFC/LIB

source files:
C:/Program Files/Microsoft Visual Studio/VC98/MFC/SRC
C:/Program Files/Microsoft Visual Studio/VC98/MFC/INCLUDE
C:/Program Files/Microsoft Visual Studio/VC98/ATL/INCLUDE
C:/Program Files/Microsoft Visual Studio/VC98/CRT/SRC

如果你装在其他盘里,则仿照其路径变通就行。
关键是microsoft visual studio/ 后面的东西要相同。
方法二:
最简便的方法: 启动VC时不要用图形界面,通过在命令提示符下输入:Msdev /useenv运行(注意啦/前面有个空格).它会强制使系统环境变量全高设置成正确值.而且,只需要使用一次这样的方式运行VC,以后再次通过双击图标的方式启动也不会有问题.
看来自己还要有许多东西要学呀!


最佳答案

查看完整内容

1 error(s), error 这个是英文错误的意思` 也就是说有几个错误`` 然后你往上翻会看的有什么错误的`
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-2-11 13:45:44 | 显示全部楼层

1 error(s),   error 这个是英文错误的意思`  也就是说有几个错误``
然后你往上翻会看的有什么错误的`
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-2-11 14:47:02 | 显示全部楼层
#define PRICE 30;
这个是不是不应该加 ;
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-2-11 17:05:11 | 显示全部楼层
我用编译器验证了啊。没有问题,是不是编译器的问题,你是用vc6.0++么,还是其他的,在仔细去验证下,相信会有结果的
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-2-11 17:12:09 | 显示全部楼层
把#define后面的分号去掉就可以了。。。或是这句改为 total=num*PRICE
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-2-11 18:12:14 | 显示全部楼层
  1. #include <stdio.h>
  2. #define PRICE 30;
  3. void main()
  4. {
  5. int num,total;
  6. num=10;
  7. total=num*PRICE;
  8. printf("total=%d\n",total);
  9. }
复制代码
干嘛一定要这样呢?下面这样不是更好理解么
  1. #include <stdio.h>
  2. int main()
  3. {
  4.     int table,n = 30, num = 10;
  5.     table = n*num;
  6.     printf("%d", table);
  7. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-2-11 18:13:03 | 显示全部楼层
VS2008编译正常
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-2-12 02:14:56 | 显示全部楼层
不是编译器问题,
而是楼主忘了宏定义后面不能加分号

把分号去掉就行了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-2-12 11:53:44 | 显示全部楼层
楼主看看定义的是不是 【控制台程序】,我刚开始就是那里错了,
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-2-12 12:23:22 | 显示全部楼层
#define PRICE 30;
这个 不该有分号吧
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-2-12 14:55:49 | 显示全部楼层
定义符号常量  不要分号
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-2-12 20:32:53 | 显示全部楼层
好着呀,能运行出来。total=300
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-2-12 22:19:29 | 显示全部楼层
这个程序没有错误啊,我在上面运行了之后都是没有问题的。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-2-13 14:42:06 | 显示全部楼层
Mr.C 发表于 2012-2-12 02:14
不是编译器问题,
而是楼主忘了宏定义后面不能加分号

刚刚我用TC编译一下,没问题。有用vc++ 6.0 英文版的编译了一下还是有一处错误 把宏的分号去掉也不行,是不是编译器的问题呀。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-2-13 14:47:21 | 显示全部楼层
我直接复制粘贴的   我这运行没有问题啊   有没有分号 都可以运行   结果total=300   我用的是vc++6.0
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-2-13 14:47:55 | 显示全部楼层
你把报错贴出来  让大家帮忙看看究竟是哪的错误啊
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-2-13 15:28:21 | 显示全部楼层
  1. #include <stdio.h>
  2. #define PRICE 30

  3. int main(void)
  4. {
  5.         int num,total;
  6.         num=10;

  7.         total = num * PRICE;
  8.         printf("total = %d\n", total);

  9.         return 0;
  10. }
复制代码
楼上说的对,你在宏定义后面加了分号。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-2-13 15:28:42 | 显示全部楼层
建议大家多注意格式
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-2-13 21:21:11 | 显示全部楼层
你必须承认你宏定义语法上,确实是弄错了。

你在TC上能正常运行,以及楼上有几个也能正常运行的唯一原因是,PRICE没在包含在任何语句内。
即total = num * 30; ;  相当于你写了一行空指令。无关痛痒。
但这种情况下,就会出错了。
total = (num * PRICE) ;  你懂的。

如果你改了之后,还是在VC6中通不过。
我猜你可能是工程类型或文件类型选错了。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-2-13 22:48:54 | 显示全部楼层
预处理命令组成的预处理命令行必须在一行的开头以“#”号开始,每行的末尾不得用“;”号结束。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-12 21:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表