upper 发表于 2008-4-30 16:49:57

GCC编译不能通过,出现提示make (e=2): 系统找不到指定的文件,新手求救!

我最近刚学GCC编程就遇到了麻烦事:编译没法通过
> "make.exe" all

-------- begin --------
avr-gcc (GCC) 3.4.3
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

g++    -c -o op_test1.o op_test1.C
process_begin: CreateProcess((null), g++ -c -o op_test1.o op_test1.C, ...) failed.
make (e=2): 系统找不到指定的文件。

make.exe: *** Error 2

> Process Exit Code: 2
不知道是不是MAKEFILE文件设置出了问题了?
我的GCC的相关设置是按照教材上该的,我反复搞也弄不出,C文件与MAKEFILE文件在附件里,C里有些写法可能是错误的,望马老师指点。还有请马老师推荐新手教材,比如GCC自己的函数头文件、一些与C的不同语法等,看了我们网上的一些教材,好象漏了些新手应注意的问题,还望多多指点,谢谢。




#include <avr/io.h>
#include<stdio.h>

int main(void)
{ unsigned char retc,A;
int i;
retc=0;
sbi(portC,0);   //E1=1
sbi(portB,1);   //E2=1
cbi(portD,6);   //CTR28=1
cbi(portD,7);   //CTR30=1

while (1)
{
    while(portD_0==0);
    while(portD_0==1);
    while(portD_0==0);
    for(i=0;i<=7;i++)
      {
         retc=retc<<1;
           if(PINC&0X10)retc=retc+1;
                }
switch(retc)
        case(01):A=0xF0&portC;portC=A;break;             //CTR1
        case(02):A=(0xF0&portC)|0x08;portC=A;break;       //CTR2
      case(03):A=(0XF0&portC)|0X04;portC=A;break;       //CTR3
        case(04):A=(0XF0&portC)|0X0C;portC=A;break;       //CTR4
        case(05):A=(0XF0&portC)|0X02;portC=A;break;       //CTR5
        case(11):A=(0XC1&portB);portB=A;break;         //CTR6
        case(12):A=(0XC1&portB)|0X20;portB=A;break;       //CTR7
      case(13):A=(0XC1&portB)|0X10;portB=A;break;       //CTR8
        case(14):A=(0XC1&portB)|0X30;portB=A;break;       //CTR9
        case(15):A=(0XC1&portB)|0X08;portB=A;break;       //CTR10
        case(16):A=(0XC1&portB)|0X28;portB=A;break;       //CTR11
        case(17):A=(0XC1&portB)|0X18;portB=A;break;       //CTR12
        case(18):A=(0XC1&portB)|0X38;portB=A;break;       //CTR13
        case(19):A=(0XC1&portB)|0X04;portB=A;break;       //CTR14
        case(21):sbi(portD,6);break;      //CTR29
        case(22):sbi(portD,7);break;      //CTR30
        case(23):sbi(portB,0);break;      //CTR22
}
}

其中
    while(portD_0==0); 在GCC该怎么改变?对弹片机引脚一定要先设置输入或输出?为什么我的程序编译不了,上面程序有什么不正确之错,忘大家多多指
    while(portD_0==1); 正。
    while(portD_0==0);



点击此处下载 ourdev_262822.rar(文件大小:59K) (原文件名:op_test.rar)

zxq6 发表于 2008-4-30 18:31:08

是makefile文件配置的問題,你的應該是c文件把,結果調用了c++編譯器。

guolliang 发表于 2011-3-1 20:33:58

前辈,我也遇到了同样的问题,不知你的解决了没有?

guolliang 发表于 2011-3-1 20:35:04

回复【1楼】zxq6 小马哈
-----------------------------------------------------------------------

小马哈前辈,怎样配置makefile文件呢,能不能详细给讲解一下,先谢谢啦!
页: [1]
查看完整版本: GCC编译不能通过,出现提示make (e=2): 系统找不到指定的文件,新手求救!