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

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

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

ソリューションへジャンプ
3,910件の閲覧回数
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

ラベル(2)
0 件の賞賛
返信
1 解決策
3,505件の閲覧回数
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,506件の閲覧回数
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,505件の閲覧回数
martinthompson
Contributor III

That works a treat - thanks Jiri

0 件の賞賛
返信