【问题标题】:crtatmega328p.o:(.init9+0x0): undefined reference to "main"crtatmega328p.o:(.init9+0x0): 未定义对“main”的引用
【发布时间】:2019-12-19 00:08:30
【问题描述】:

我一直在尝试编译一个机器人模拟。

我创建了一个名为 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 

应该可以正常编译了。

【问题讨论】:

  • 请出示test.c
  • an empty file called test.c - 所以里面没有main 函数......

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2012-01-27
    • 1970-01-01
    • 1970-01-01
    • 2012-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多