为啥在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的运行结果是一样,但现在两者出现了不一致,就是想不通到底是怎么回事

参考技术A 用eclipse来编译C/C++不是一个好的选择,况且还是在windows平台下,它其实是调用的gcc程序来编译的,gcc是linux里面的东西,所以难免会出错。
如果还在windows里面还是去下载一个VC吧,如果换linux,gcc用起来也是蛮不错的~
参考技术B 唉。又是一个坚强的孩子。
1,struct和typedef的语法混用了(但是很奇怪确实是编译通过了)改为以下或许可读性会更好
typedef struct

char ch;
struct stack *next;
stack;
2,你的eclipse CDT根本没有配置成功,所以Binary not found(找不到二进制文件)原因是你并没有成功编译成exe文件

以上是关于为啥在eclipse中这个程序无法编译通过?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的eclipse老是自动编译 而且时间很长

为啥eclipse编译的时候那么慢

eclipse中怎么找到编译后的class路径

Eclipse 安装反编译插件jadclipse

Eclipse做C程序时为啥Debug下不能生成exe文件,新手在线等帮助,悬赏!

java 为啥文件不加入Source中编译就出现source not found