为啥在eclipse中这个程序无法编译通过?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥在eclipse中这个程序无法编译通过?相关的知识,希望对你有一定的参考价值。
这是我的C程序,直接用gcc能编译通过,但用eclipse 3.4就是无法通过,总是显示以下错误:
错误: ‘ch’未声明 (在此函数内第一次使用) ato.c ato/src 13 C/C++ Problem
错误: (即使在一个函数内多次出现,每个未声明的标识符在其 ato.c ato/src 13 C/C++ Problem
错误: 所在的函数内也只报告一次。) ato.c ato/src 13 C/C++ Problem
但相同的程序在netbeans下却能编译通过。我的系统是ubuntu 8.04,除了这些错误之外,eclipse还提示“Launch failed.Binary not found”。如果switch ()里面的数不是一个结构体,又能正常运行,请问这是怎么回事?以前有windows下面用eclipse写C程序时也总是出现“Launch failed.Binary not found”这样的错误,请问有什么好的解决办法吗?
#include <stdio.h>
typedef struct node
char ch;
struct node *next;
stack;
int main()
stack s;
s.ch='*';
switch (s.ch)
case '+': printf("%c",s.ch); break;
case '-': printf("%c",s.ch); break;
case '*': printf("%c",s.ch); break;
case '/': printf("%c",s.ch); break;
return 0;
我的系统是linux,也不想换成windows,VC并非国际标准,所以还是用gcc比较好,既然eclipse是调用gcc的,那么它应该和直接用gcc的运行结果是一样,但现在两者出现了不一致,就是想不通到底是怎么回事
如果还在windows里面还是去下载一个VC吧,如果换linux,gcc用起来也是蛮不错的~ 参考技术B 唉。又是一个坚强的孩子。
1,struct和typedef的语法混用了(但是很奇怪确实是编译通过了)改为以下或许可读性会更好
typedef struct
char ch;
struct stack *next;
stack;
2,你的eclipse CDT根本没有配置成功,所以Binary not found(找不到二进制文件)原因是你并没有成功编译成exe文件
以上是关于为啥在eclipse中这个程序无法编译通过?的主要内容,如果未能解决你的问题,请参考以下文章