crtatmega328p.o :(。init9 + 0x0):对“ main”的未定义引用

时间:2019-08-12 11:55:01

标签: gcc compilation undefined-reference avr-gcc atmega32

我一直在尝试编译机器人仿真。

我创建了一个名为test.c的空文件,并尝试使用以下命令编译测试:

avr-gcc -mmcu=atmega328p test.c

已安装AVR-GCC

copt@copt:~$ avr-gcc --version
avr-gcc (GCC) 5.4.0
Copyright (C) 2015 Free Software Foundation, Inc.
Este é um software livre; veja as fontes para as condições de cópia. NÃO HÁ
garantias; nem mesmo de COMERCIALIZAÇÃO ou ADEQUAÇÃO A UMA FINALIDADE
ESPECÍFICA.

并返回此:

/usr/lib/gcc/avr/5.4.0/../../../avr/lib/avr5/crtatmega328p.o:      
(.init9+0x0): reference not defined to "main"
collect2: erro: ld returned 1 exit status

与我一直在努力工作的主要原理非常相似。我认为,如果解决这一非常基本的问题,最大的问题将得到解决。

FLAGS = -mmcu=atmega328p -Wall -gdwarf-2 -O3 -funsigned-char -funsigned-   bitfields -fpack-struct -fshort-enums 

它应该可以正常编译。

1 个答案:

答案 0 :(得分:0)

对我来说,原来我已将代码保存为默认的 FILE 类型。将文件另存为 .c 文件后,我发现它可以编译。