Multiple definitions of <ctype.h> functions 'isprintf' etc

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

Multiple definitions of <ctype.h> functions 'isprintf' etc

跳至解决方案
3,900 次查看
martinthompson
Contributor III

Hi,

I have an S32DS project for S32K144_100 which fails to link when a function defined in <ctype.h> is referenced from my C code.  This has occurred with both tolower() and isprintf()

C:/NXP/S32DS_ARM_v2018.R1/S32DS/arm_ewl2/lib/armv7e-m/fpu\libc99.a(isprint.o): S32DS/arm_ewl2/EWL_C/src/ctype/isprint.c first defined here

make: *** [makefile:70: myproject.elf] Error 1

S32DS/arm_ewl2/EWL_C/src/arm/ctype_aeabi.c multiple definition of `isprint'

Can anyone tell me why the EWL version of isprintf() is being used as well as the C99 library version?  How can this error be fixed?

I'm new to S32DS and I think the project is misconfigured somehow.  I want to use FreeRTOS and have console I/O directed to a UART.  For the latter reason the project links with EWL with -specs=ewl_c9x_noio.specs

The compiler options are

-DCPU_S32K144HFT0VLLT -DUSING_OS_FREERTOS -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/arm_ewl2/EWL_C/include" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/arm_ewl2/EWL_C/include/arm" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/arm_ewl2/EWL_Runtime/include" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/arm_ewl2/EWL_Runtime/include/arm" -I"C:\work\Transics\src\S32DS\workspace\dongle_evb/Generated_Code" -I"C:\work\Transics\src\S32DS\workspace\dongle_evb/Sources" -I"C:\work\Transics\src\S32DS\workspace\dongle_evb/Include" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/drivers/src/lin" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/devices/S32K144/startup" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/rtos/osif" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/middleware/sbc/sbc_uja1169/include" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/devices/common" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/drivers/src/sai" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/devices/S32K144/include" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/drivers/src/enet" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/drivers/src/flexio" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/middleware/lin/include" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/devices/S32K142/startup" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/middleware/lin/coreapi" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/drivers/src/eim" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/devices/S32K148/startup" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/drivers/src/adc" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/drivers/src/erm" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/drivers/src/pins" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/devices/S32K146/include" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/drivers/src/clock/S32K1xx" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/middleware/lin/transport" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/devices" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/drivers/src/ewm" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/drivers/inc" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/devices/S32K148/include" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/drivers/src/quadspi" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/drivers/src/wdog" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/pal/spi/inc" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/drivers/src/rtc" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/devices/S32K146/startup" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/drivers/src/flexcan" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/devices/S32K142/include" -I"C:\work\Transics\src\S32DS\workspace\myproject/Generated_Code" -I"C:\work\Transics\src\S32DS\workspace\myproject/Sources" -I"C:\work\Transics\src\S32DS\workspace\myproject/SDK/platform/drivers/src/clock/S32K1xx" -I"C:\work\Transics\src\S32DS\workspace\myproject/SDK/platform/devices" -I"C:\work\Transics\src\S32DS\workspace\myproject/SDK/platform/devices/common" -I"C:\work\Transics\src\S32DS\workspace\myproject/SDK/platform/devices/S32K144/include" -I"C:\work\Transics\src\S32DS\workspace\myproject/SDK/platform/devices/S32K144/startup" -I"C:\work\Transics\src\S32DS\workspace\myproject/SDK/platform/drivers/inc" -I"C:\work\Transics\src\S32DS\workspace\myproject/SDK/rtos/osif/" -I"C:\work\Transics\src\S32DS\workspace\myproject/SDK/rtos/FreeRTOS_S32K/Source/include" -I"C:\work\Transics\src\S32DS\workspace\myproject/SDK/rtos/FreeRTOS_S32K/Source/portable/GCC/ARM_CM4F" -O0 -g3 -Wall -c -fmessage-length=0 -ffunction-sections -fdata-sections -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -specs=ewl_c9x_noio.specs --sysroot="C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/arm_ewl2"

Thanks in advance

--Martin

标记 (3)
0 项奖励
回复
1 解答
3,495 次查看
jiri_kral
NXP Employee
NXP Employee

Hi Martin, 

you can add -z muldef linker option: Right click on project name -> Properties -> Settings 

pastedImage_1.png

Jiri

在原帖中查看解决方案

0 项奖励
回复
2 回复数
3,496 次查看
jiri_kral
NXP Employee
NXP Employee

Hi Martin, 

you can add -z muldef linker option: Right click on project name -> Properties -> Settings 

pastedImage_1.png

Jiri

0 项奖励
回复
3,495 次查看
martinthompson
Contributor III

That works a treat - thanks Jiri

0 项奖励
回复