首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >arm-none eabi-ld:找不到-lc

arm-none eabi-ld:找不到-lc
EN

Stack Overflow用户
提问于 2015-02-16 09:46:14
回答 2查看 12.3K关注 0票数 5

我正在尝试为基于XMC1100的开发板编写代码。我正在尝试这个教程:http://eleceng.dit.ie/frank/arm/BareMetalXMC2Go/index.html

我已经下载了blinky.tar.gz文件并解压缩。当我尝试"make“时,我得到这个错误:arm-none eabi-ld:找不到-lc

下面是"make“的输出

代码语言:javascript
复制
arm-none-eabi-gcc -c -mcpu=cortex-m0 -mthumb -g init.c -o init.o
arm-none-eabi-gcc -c -mcpu=cortex-m0 -mthumb -g main.c -o main.o
arm-none-eabi-ld init.o main.o  -L /usr/lib/gcc/arm-none-eabi/4.8.2/armv6-m -T linker_script.ld -lc --cref -Map main.map -nostartfiles -o main.elf
arm-none-eabi-ld: cannot find -lc
make: *** [main.elf] Error 1

我使用的是Linux Mint 17 Qiana

我错过了什么?

这是我的makefile:

代码语言:javascript
复制
LIBSPEC=-L /usr/lib/gcc/arm-none-eabi/4.8.2/armv6-m

# Specify the compiler to use
CC=arm-none-eabi-gcc
# Specify the assembler to use
AS=arm-none-eabi-as
# Specity the linker to use
LD=arm-none-eabi-ld

CCFLAGS=-mcpu=cortex-m0 -mthumb -g

# List the object files involved in this project
OBJS=   init.o \
        main.o 

# The default 'target' (output) is main.elf and it depends on the object files being there.
# These object files are linked together to create main.elf
main.elf : $(OBJS)
    $(LD) $(OBJS) $(LIBSPEC) -T linker_script.ld -lc --cref -Map main.map -nostartfiles -o main.elf
    arm-none-eabi-objcopy -O binary main.elf main.bin
    objcopy -O ihex main.elf main.hex
    @echo "done"

# The object file main.o depends on main.c.  main.c is compiled to make main.o
main.o: main.c
    $(CC) -c $(CCFLAGS) main.c -o main.o


init.o: init.c
    $(CC) -c $(CCFLAGS) init.c -o init.o

# if someone types in 'make clean' then remove all object files and executables
# associated wit this project
clean: 
    rm $(OBJS) 
    rm main.elf
    rm main.bin 
EN

回答 2

Stack Overflow用户

发布于 2016-04-13 17:26:32

我遇到了同样的问题,sudo apt-get install libnewlib-arm-none-eabi帮助了我。

票数 6
EN

Stack Overflow用户

发布于 2018-07-19 13:53:17

在尝试运行构建时,我得到了以下信息:

代码语言:javascript
复制
/usr/lib/gcc/arm-none-eabi/4.9.3/../../../arm-none-eabi/bin/ld: cannot find -lstdc++

我已经使用sudo apt-get install gcc-arm-none-eabi libnewlib-arm-none-eabi make dfu-util在Ubuntu上安装了这些包,但似乎还需要一个(至少对我的系统是这样)。在安装libstdc++-arm-none-eabi-newlib之后,它能够找到正确的文件。

以下是我的系统上该软件包中包含的文件:

代码语言:javascript
复制
$ apt-file show libstdc++-arm-none-eabi-newlib | grep -e "stdc++.a$"
libstdc++-arm-none-eabi-newlib: /usr/lib/arm-none-eabi/newlib/armv6-m/libstdc++.a
libstdc++-arm-none-eabi-newlib: /usr/lib/arm-none-eabi/newlib/armv7-ar/thumb/fpu/libstdc++.a
libstdc++-arm-none-eabi-newlib: /usr/lib/arm-none-eabi/newlib/armv7-ar/thumb/libstdc++.a
libstdc++-arm-none-eabi-newlib: /usr/lib/arm-none-eabi/newlib/armv7-ar/thumb/softfp/libstdc++.a
libstdc++-arm-none-eabi-newlib: /usr/lib/arm-none-eabi/newlib/armv7-m/libstdc++.a
libstdc++-arm-none-eabi-newlib: /usr/lib/arm-none-eabi/newlib/armv7e-m/fpu/libstdc++.a
libstdc++-arm-none-eabi-newlib: /usr/lib/arm-none-eabi/newlib/armv7e-m/libstdc++.a
libstdc++-arm-none-eabi-newlib: /usr/lib/arm-none-eabi/newlib/armv7e-m/softfp/libstdc++.a
libstdc++-arm-none-eabi-newlib: /usr/lib/arm-none-eabi/newlib/fpu/libstdc++.a
libstdc++-arm-none-eabi-newlib: /usr/lib/arm-none-eabi/newlib/libstdc++.a
libstdc++-arm-none-eabi-newlib: /usr/lib/arm-none-eabi/newlib/mthumb/march=armv7/mfloat-abi=hard/mfpu=vfpv3-d16/mbig-endian/libstdc++.a
libstdc++-arm-none-eabi-newlib: /usr/lib/arm-none-eabi/newlib/thumb/libstdc++.a
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28533413

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档