2

我正在研究一个 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

主程序

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。谁能指导我?

4

3 回答 3

4

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

对于 GNUmake文档:

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

于 2013-09-03T04:26:39.077 回答
1

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

于 2014-05-06T22:07:45.033 回答
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

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

于 2013-09-03T05:04:45.647 回答