【发布时间】:2020-10-10 19:07:41
【问题描述】:
我正在尝试按照this NanoPi Neo 指南的描述编译 test.c。但是,当我尝试运行 gcc 命令进行编译时,我会收到此错误消息...
GNU ld (GNU Binutils for Ubuntu) 2.26.1
Supported emulations:
armelf_linux_eabi
armelfb_linux_eabi
/usr/lib/gcc/arm-linux-gnueabihf/5/../../../arm-linux-gnueabihf/crt1.o: In function `_start':
(.text+0x28): undefined reference to `main'
collect2: error: ld returned 1 exit status
...命令...
sudo gcc -Wall -o test.c -lwiringPi -lpthread -Wl,-V
...以及我正在尝试编译的代码...
#include <wiringPi.h>
int main(void)
{
wiringPiSetup() ;
pinMode (7, OUTPUT) ;
for(;;)
{
digitalWrite(7, HIGH) ;
delay (500) ;
digitalWrite(7, LOW) ;
delay (500) ;
}
}
我可以猜测这是一个可能的链接问题吗?我只是不确定,我真的知道如何改变它。 当涉及到 C、Linux 等主题时,我比较像新手。 :)
【问题讨论】:
-
您好!欢迎来到超级用户!您确定要使用 sudo 吗?而且,你确定你不应该包括其中的一些吗?
(指出我在评论中犯的任何错误!如果有人发现了什么!) -
您为什么要为此使用
sudo?您正在创建自己无法修改的文件。 -
-o选项指定输出文件。因此,如果编译器没有丢弃 test.c,那么您很幸运。正确的命令是gcc -Wall test.c -o myprogram,后跟命令中的选项。