在Raspberry Pi上制作“不被认为是内部或外部命令”

时间:2013-09-03 04:16:41

标签: c makefile raspberry-pi geany

我正在开发一个Raspberry Pi项目,我们需要将机器人编程为独立运行。

目前我使用Geany作为环境和C编程语言。这些步骤来自以下教程:

http://www.raspberry-projects.com/pi/programming-in-c/getting-your-raspberry-pi-ready-for-c-programming

但是因为我之前从未这样做过,所以我遇到了一个问题。该网站称Geany需要一个'makefile'来执行该程序。我创建了一个简单的main.c和makefile

的main.c

int main(int argc, char **argv)
{
    printf("Hello world!");
    return 0;
}

生成文件

CC=gcc                  
CFLAGS=-I.
DEPS =                  

all: main.o 
    gcc main.o -o target_bin

main.o: main.c 
    gcc -I . -c main.c

clean:
    rm -rf *.o
    rm target_bin

从Geany,我尝试构建/编译/制作,但我不断收到错误:

  

'make'未被识别为内部或外部命令

我尝试通过命令提示符编译main.c,但它仍然提示我同样的错误:

  

'gcc'未被识别为内部或外部命令,

总之,我不知道如何制作一个makefile。谁能指导我?

3 个答案:

答案 0 :(得分:4)

执行sudo apt-get install build-essential以安装编译器和一堆其他好东西。我会首先执行sudo apt-get update以确保您的系统是最新的。

对于GNU make文档:

http://www.gnu.org/software/make/manual/make.html

答案 1 :(得分:1)

所有上述命令都输入到linux用户所知的终端中(对于Windows用户来说,它是技术上的命令提示符。为了理解给出的建议,您需要学习的是如何创建telnet与你的RPi设备的连接。以及如何区分依赖于互联网的命令,如apt-get.Sudo是sudo之后输入的命令行的临时root权限。我建议探索ubuntus wiki或archs wiki习惯谷歌和CLI

答案 2 :(得分:0)

最好像这样编写make文件:

CC  = $(CROSS_COMPILE)gcc
LD  = $(CROSS_COMPILE)ld
LDFLAGS = 
CFLAGS  = -g -Wall

TARGETS = main
#     

main:main.o
    $(LD) $(LDFLAGS) -o $@ $<

main.o:main.c
    $(CC) $(CFLAGS) -o $@ $<

clean:
    rm -rf $(TARGETS)
    rm -rf *.o

使用跨工具链时,您可以这样做:

make CROSS_COMPILE=your toolchains's prifix

然后你就可以得到你想要的二进制文件。