arm-linux-gnueabihf-gcc 出现 collect2: error: ld returned 1 exit status 最后发现不是编译器的问题

1.问题描述

上次用的ubuntu 20 在不知名的情况下出现打不开机,出现如下情况:

当时按照百度试过各种办法都不行,有很多法子是要进入终端输入命令,但是我的情况根本进入不了终端,完全卡在这里动不了啦,后来索性就重装一个ubuntu20 ,但是后来重装上去后,一路安装软件,终于把环境搭好后进入vscode 发现以前的工程竟然编译出错啦,前两天还好好的,当时第一感觉是编译器出问题啦:arm-linux-gnueabihf-gcc  后来发现安装若干个版本的编译器同样出现这个问题,问题如下:

 

./src/localSocketServer.c:101:49: warning: implicit declaration of function ‘inet_ntoa’ [-Wimplicit-function-declaration]
  101 |   print_log("Server get connection from %s\r\n",inet_ntoa(client_addr.sin_addr));
      |                                                 ^~~~~~~~~
./src/localSocketServer.c: In function ‘parseApkMessage’:
./src/localSocketServer.c:170:20: warning: initialization of ‘int’ from ‘void *’ makes integer from pointer without a cast [-Wint-conversion]
  170 |  int video_state = NULL;
      |                    ^~~~
./src/localSocketServer.c: In function ‘receiveMessage’:
./src/localSocketServer.c:147:1: warning: control reaches end of non-void function [-Wreturn-type]
  147 | }
      | ^
/usr/lib/gcc-cross/arm-linux-gnueabihf/9/../../../../arm-linux-gnueabihf/bin/ld: /lib/../lib/libiot_hal.a(HAL_UDP_linux.o): in function `HAL_UDP_create':
/home/code/LinkKitSDK/c-sdk-v2.3.0-fc20ef7e6d00b8e3a1a33b732f2effd5447a26b8c-sdk.git/src/ref-impl/hal/os/ubuntu/HAL_UDP_linux.c:45: warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/lib/gcc-cross/arm-linux-gnueabihf/9/../../../../arm-linux-gnueabihf/bin/ld: /lib/../lib/libiot_hal.a(HAL_UDP_linux.o): in function `HAL_UDP_create_without_connect':
/home/code/LinkKitSDK/c-sdk-v2.3.0-fc20ef7e6d00b8e3a1a33b732f2effd5447a26b8c-sdk.git/src/ref-impl/hal/os/ubuntu/HAL_UDP_linux.c:182: warning: Using 'gethostbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/lib/gcc-cross/arm-linux-gnueabihf/9/../../../../arm-linux-gnueabihf/bin/ld: /tmp/ccKcpT5A.o: in function `breakoffThreads':
/home/code/test/6.9.1/pduVehicle/./src/terminalControl.c:266: undefined reference to `gIscan1ReadThreadExit'
/usr/lib/gcc-cross/arm-linux-gnueabihf/9/../../../../arm-linux-gnueabihf/bin/ld: /home/code/test/6.9.1/pduVehicle/./src/terminalControl.c:266: undefined reference to `gIscan2ReadThreadExit'
/usr/lib/gcc-cross/arm-linux-gnueabihf/9/../../../../arm-linux-gnueabihf/bin/ld: /tmp/ccYo5EfA.o: in function `main':
/home/code/test/6.9.1/pduVehicle/./src/parallelDriving.c:282: undefined reference to `imx6qCanReadThread'
collect2: error: ld returned 1 exit status
make: *** [Makefile:50: all] Error 1
jiange@ubuntu:/home/code/test/6.9.1/pduVehicle$ 

当时挺着急的,后来静下心仔细看问题,然后一个一个函数去找,发现在/home/code/test/6.9.1/pduVehicle/./src/parallelDriving.c:282: undefined reference to `imx6qCanReadThread'---------parallelDriving.c的文件内竟然是空的内容,这个发现可真是无奈的感觉,这么容易的问题为何耽误一个多小时去解决。

分析:

用新的虚拟机添加原来的打不开的虚拟机的磁盘,然后从打不开的虚拟机的磁盘中拷贝下来工程,没有发现拷贝的工程有的文件已经破损,里面的内容为空啦,所以编译不过去。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值