导航:首页 > 源码编译 > 为什么老是编译出错

为什么老是编译出错

发布时间:2022-10-25 05:06:52

Ⅰ 为什么c语言编译总出错

可能很多人在安装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

如果你装在其他盘里,则仿照其路径变通就行(我就是装在D盘)。
关键是microsoft visual studio\ 后面的东西要相同。
希望能帮助到你。

Ⅱ 为什么编译总是出错

如果使用C的编译器,应该是能编译通过
因为C编译器如果没有写明函数的返回值的话默认的函数返回值是int
如果使用C++的编译器就编译不过了
因为C++比C更严格了,不允许默认的int返回值

Ⅲ 程序编译错误不知道是什么原因

不能通编译过的程序实际上还不是合法的程序,因为它不满足C语言对于程序的基本要求。

检查语法错误的第一要义:集中力量检查系统发现的第一个错误,弄清并改正它。

在编译过程中系统发现的错误主要有两类:基本语法错误和上下文关系错误。这些错误都在表面上,可以直接看得见。也是比较容易弄清,比较容易解决的。关键是需要熟悉C语言的语法规定和有关上下文关系的规定,按照这些规定检查程序正文,看看存在什么问题。

编译中系统发现错误都能指出错误的位置。不同系统在这方面的能力有差异,在错误定位的准确性方面有所不同。有的系统只能指明发现错误的行,有的系统还能够指明行内位置。

一般说,系统指明的位置未必是真实错误出现的位置。通常情况是错误出现在前,而系统发现错误在后,因为它检查到实际错误之后的某个地方,才能确认出了问题,因此报出错误信息。要确认第一个错误的原因,应该从系统指明的位置开始,在那里检查,并从那里开始向前检查。

系统的错误信息中都包含一段文字,说明它所认定的错误原因。应该仔细阅读这段文字,通常它提供了有关错误的重要线索。但也应该理解,错误信息未必准确,有时错误确实存在,但系统对错误的解释也可能不对。也就是说,在查找错误时,既要重视系统提供的错误信息,又不应为系统的错误信息所束缚。

发现了问题,要想清楚错误的真正原因,然后再修改。不要蛮干。在这时的最大诱惑就是想赶快改,看看错误会不会消失。但是蛮干的结果常常是原来的错误没有弄好,又搞出了新的错误。

另一个值得注意的地方:程序中的一个语法错误常常导致编译系统产生许多错误信息。如果你改正了程序中一个或几个错误,下面的弄不清楚了,那么就应该重新编译。改正一处常常能消去许多错误信息行。

解决语法错误

常见语法错误:

1)缺少语句、声明、定义结束的分号。

2)某种括号不配对。C语言中括号性质的东西很多,列举如下:
( ), [ ], { }, ' ', " ", /* */
在不同位置的括号不配对可能引起许多不同的错误信息。

3)关键字拼写错误。

较难认定的典型错误:

1)宏定义造成的错误。这种东西不能在源程序文件中直接看到,是在宏替换之后出现的。常见的能引起语法错误的宏定义错误:宏定义中有不配对的括号,宏定义最后加了不该有的分号,……

解决上下文关系错误

1)变量没有定义。产生这个问题的原因除了变量确实没有大意外,还可能是变量的拼写错误,变量的作用域问题(在不能使用某个变量的地方想去用那个变量)。

2)变量重复定义。例如在同一个作用域里用同样名字定义了两个变量,函数的局部变量与参数重名等。

3)函数的重复定义。可能是用同一个名字定义了两个不同的函数。或者是写出的函数原型在类型上与该函数的定义不相符。有时没有原型而直接写函数调用也可能导致这种错误信息,因为编译程序在遇到函数调用而没有看到函数原型或函数定义时,将给函数假定一个默认原型。如果后来见到的函数定义与假定不符,就会报告函数重复定义错误。

4)变量类型与有关运算对运算对象或者函数对参数的要求不符。例如有些运算(如 %)要求整数参数,而你用的是某种浮点数。

5)有些类型之间不能互相转换。例如你定义了一个结构变量,而后要用它给整数赋值。系统容许的转换包括:数值类型之间的转换,整数和指针之间的转换,指针之间的转换。其余转换(无论是隐含的,还是写出强制)都不允许。参见《C语言程序设计》(K&R)197-199页。

如何看待编译警告

当编译程序发现程序中某个地方有疑问,可能有问题时就会给出一个警告信息。警告信息可能意味着程序中隐含的大错误,也可能确实没有问题。对于警告的正确处理方式应该是:尽可能地消除之。对于编译程序给出的每个警告都应该仔细分析,看看是否真的有问题。只有那些确实无问题的警告才能放下不管。

注意:经验表明,警告常常意味着严重的隐含错误。

常见警告:

1)(局部自动)变量没有初始化就使用。如果对局部指针变量出现这种情况,后果不堪设想。对于一般局部自动变量,没有初始化就使用它的值也不会是有意义的。

2)在条件语句或循环语句的条件中写了赋值。大部分情况是误将 == (等于判断)写成 = 了。这是很常见的程序错误,有些编译程序对这种情况提出警告。

Ⅳ 为什么静态编译一个程序的时候总是出错

如果在编译你的源程序的过程中,不是涉及到库文件的链接的时候,一般的普通编译是不会出错的。出现该类错误一般都是你的源程序中使用的库文件的路径设置的不正确、或者是库文件名错误等等,造成无法将你的源程序和你的编译器中的静态库进行正确的链接。你再仔细检查你的源程序、以及你的编译中的选择项。

Ⅳ visual c++ 6.0编译时总有一个错误是怎么回事

实际上这个问题很多情况下是由于路径设置的问题引起的, “CL.exe”是VC使用真正的编译器(编译程序),其路径在“VC根目录VC98Bin”下面, 你可以到相应的路径下找到这个应用程序。

因此问题可以按照以下方法解决:

方法一:

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

如果你是按照初始路径安装vc6.0的,路径应为: executatble files: C:Program FilesMicrosoft Visual StudioCommonMSDev98Bin C:Program FilesMicrosoft Visual StudioVC98BIN C:Program FilesMicrosoft Visual StudioCommonTOOLS C:Program FilesMicrosoft Visual StudioCommonTOOLSWINNT

include files: C:Program FilesMicrosoft Visual StudioVC98INCLUDE C:Program FilesMicrosoft Visual StudioVC98MFCINCLUDE C:Program FilesMicrosoft Visual StudioVC98ATLINCLUDE

library files: C:Program FilesMicrosoft Visual StudioVC98LIB C:Program FilesMicrosoft Visual StudioVC98MFCLIB

source files: C:Program FilesMicrosoft Visual StudioVC98MFCSRC C:Program FilesMicrosoft Visual StudioVC98MFCINCLUDE C:Program FilesMicrosoft Visual StudioVC98ATLINCLUDE C:Program FilesMicrosoft Visual StudioVC98CRTSRC

如果你装在其他盘里,则仿照其路径变通就行(我就是装在D[来源:GameRes.com]盘)。 关键是microsoft visual studio 后面的东西要相同。 主义大小写。

方法二:(这种较简单)

最简便的方法: 启动VC时不要用图形界面,通过在命令提示符下输入:Msdev /useenv运行(注意啦/前面有个空格).它会强制使系统环境变量全高设置成正确值.而且,只需要使用一次这样的方式运行VC,以后再次通过双击图标的方式启动也不会有问题.

第3种方法就是设置了一下路径:D:Program FilesMicrosoft Visual Studio 8VCin(因为我装的是2005,所以。。。)

追问:

都试过了,不行。。。

追答:

执行VC98BIN下的VCVARS32.BAT,设置环境变量

还不行的话 直接下载这个

http://www.xdowns.com/soft/38/121/2008/Soft_44195.html

Ⅵ 为什么编译老出错,求大神赐教

请说详细一点,你用的是什么编译器?或者是用什么软件写的?
编译老出错的原因猜测大致如下:
1.发现错误的代码,点击编译提示窗口的代码行号,找出错误的代码并修正;
2.编译老出错,是因为编译器设置错误,或者是未注册,破解版不稳定导致;
3.其它原因未知,卸载干净重新安装或者从其它的网站下载即可解决。

Ⅶ 为什么编译出错

如果使用C的编译器,应该是能编译通过 因为C编译器如果没有写明函数的返回值的话默认的函数返回值是int 如果使用C++的编译器就编译不过了 因为C++比C更严格了,不允许默认的int返回值

Ⅷ 为什么编译老是出错。

#include <stdio.h>
int main()
{
int a,b,sum = 0;
a=123;
b=456;
sum = a+b;
printf("sum is %d\n“,sum);
return 0;
}
注意:1.根据题意sum要初始化为零才能得到正确求和结果。
2.每一条语句后面都要有";"
3.有些编译器不支持main函数的返回类型为void,汇报错的。
4.注意你的printf那句,少了一个’ “ ‘号。
望采纳。。。

Ⅸ 编译错误,怎么回事

关于编译问题,如果说是编译错误发生在自己编写源程序的过程中的话,那么问题的原因还是比较复杂的。通常关于用户编写的源程序的编译出错问题,这是一个很复杂的问题。因为编译错误有很多种。例如:语法错误、系统库连接错误、语义错误、数组越界、或者内存越界等等。

通常语法错误是最好解决的,因为源程序的语法出错了,连编译这一关都通不过,并且会告诉你在哪一行出错了,这时候是最容易调试程序的。最难调试的就是:源程序虽然编译通过了,但是程序的运行结果却是错误的,这种是最难调试的。所以说,你必须要把详细的出错信息写出来,别人们才好帮助你进行分析。

Ⅹ 为什么静态编译一个程序的时候总是出错

1、首先易语言是需要破解才能静态编译的。

2、现在易语言最新版应该是5.4+版本了

3、网络搜索易语言5.4破解版下载安装即可。

4、如果使用破解版还是无法编译,那就是你的代码有问题,检查下代码,看看是哪里出的问题

5、你使用的代码是很早之前的,现在的版本已经不支持了。

6、你的代码里引用了模块,请加载模块后重新试试。

7、其他错误

阅读全文

与为什么老是编译出错相关的资料

热点内容
自己购买云主服务器推荐 浏览:414
个人所得税java 浏览:754
多余的服务器滑道还有什么用 浏览:182
pdf劈开合并 浏览:19
不能修改的pdf 浏览:743
同城公众源码 浏览:480
一个服务器2个端口怎么映射 浏览:285
java字符串ascii码 浏览:67
台湾云服务器怎么租服务器 浏览:466
旅游手机网站源码 浏览:323
android关联表 浏览:934
安卓导航无声音怎么维修 浏览:327
app怎么装视频 浏览:426
安卓系统下的软件怎么移到桌面 浏览:86
windows拷贝到linux 浏览:763
mdr软件解压和别人不一样 浏览:895
单片机串行通信有什么好处 浏览:331
游戏开发程序员书籍 浏览:853
pdf中图片修改 浏览:279
汇编编译后 浏览:484