本帖最后由 czstara12 于 2019-7-14 07:23 编辑
连接错误
错误输出
- arm-none-eabi-g++ OBJ/sys.o OBJ/delay.o OBJ/usart.o OBJ/t.o OBJ/led.o OBJ/startup_stm32f10x_hd.o -mcpu=cortex-m3 -mthumb -specs=nano.specs -TSTM32F103RCTx_FLASH.ld -lc -lm -lnosys -Wl,-Map=OBJ/tt.map,--cref -Wl,--gc-sections -o OBJ/tt.elf
- d:/program files (x86)/gnu tools arm embedded/7 2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v7-mlibc_nano.a(lib_a-abort.o): In function `abort':
- abort.c:(.text.abort+0xa): undefined reference to `_exit'
- d:/program files (x86)/gnu tools arm embedded/7 2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v7-mlibc_nano.a(lib_a-signalr.o): In function `_kill_r':
- signalr.c:(.text._kill_r+0xe): undefined reference to `_kill'
- d:/program files (x86)/gnu tools arm embedded/7 2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/lib/thumb/v7-mlibc_nano.a(lib_a-signalr.o): In function `_getpid_r':
- signalr.c:(.text._getpid_r+0x0): undefined reference to `_getpid'
- collect2.exe: error: ld returned 1 exit status
- make: *** [makefile:179: OBJ/tt.elf] Error 1
复制代码
项目文件:
链接:
https://pan.baidu.com/s/17NZtnV8xDV5BgGo8cYWobg
提取码:ykxm
复制这段内容后打开百度 {MOD}手机App,操作更方便哦
简要描述
最开始搭建的是gcc+makefile环境下的寄存器模板 编译正常 后来想加入编译c++文件的能力 于是进行了一系列修改 直到遇到这个问题
文件来源
1.启动文件,makefile文件,.ld文件 stm32cubemx创建的工程中提取
2.system文件夹HARDWARE文件夹 购买单片机时附带光盘中项目中提取
环境
gcc version 7.3.1 20180622 (release) [ARM/embedded-7-branch revision 261907] (GNU Tools for Arm Embedded Processors 7-2018-q2-update)
编译参数 请参考编译sys.c时的参数
arm-none-eabi-gcc -c -mcpu=cortex-m3 -mthumb -DSTM32F10X_HD -ISYSTEM/delay -ISYSTEM/sys -ISYSTEM/usart -IHARDWARE/LED -Og -Wall -fdata-sections -ffunction-sections -g -gdwarf-2 -MMD -MP -MF"OBJ/sys.d" -Wa,-a,-ad,-alms=OBJ/sys.lst SYSTEM/sys/sys.c -o OBJ/sys.o
果然 c++还是不适合做嵌入式的吗?
解决方法:
吧LDFLAGS里的-specs=nano.specs改为-specs=nosys.specs
一周热门 更多>