我正在开发一个Raspberry Pi项目,我们需要将机器人编程为独立运行。
目前我使用Geany作为环境和C编程语言。这些步骤来自以下教程:
但是因为我之前从未这样做过,所以我遇到了一个问题。该网站称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。谁能指导我?
答案 0 :(得分:4)
执行sudo apt-get install build-essential
以安装编译器和一堆其他好东西。我会首先执行sudo apt-get update
以确保您的系统是最新的。
对于GNU make
文档:
答案 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
然后你就可以得到你想要的二进制文件。