9 years, 9 months ago.

issues with porting to uVision4

Hello!

I am having issues with porting programs to the uVision4 IDE.

I tried to build the USBMouse_HelloWorld demo application, and have gotten the following errors when linking:

USBMouse_HelloWorld Build Errors

Build target 'mbed NXP LPC11U24'
compiling main.cpp...
compiling USBMouse.cpp...
compiling USBHID.cpp...
compiling USBMouseKeyboard.cpp...
compiling USBKeyboard.cpp...
compiling USBHAL_KL25Z.cpp...
compiling USBDevice.cpp...
compiling USBHAL_LPC17.cpp...
compiling USBHAL_LPC11U.cpp...
compiling USBAudio.cpp...
compiling USBSerial.cpp...
compiling USBCDC.cpp...
compiling USBMSD.cpp...
compiling USBMIDI.cpp...
linking...
.\build\USBMouse_HelloWorld.axf: Error: L6200E: Symbol remove multiply defined (by iostubs.o and stdio.o).
.\build\USBMouse_HelloWorld.axf: Error: L6200E: Symbol rename multiply defined (by iostubs.o and stdio.o).
.\build\USBMouse_HelloWorld.axf: Error: L6200E: Symbol tmpfile multiply defined (by iostubs.o and stdio.o).
.\build\USBMouse_HelloWorld.axf: Error: L6200E: Symbol tmpnam multiply defined (by iostubs.o and stdio.o).
Target not created

I have found the stdio.h file and tried just commenting out the listed functions, which proved to be less than effective, and I cannot find the iostubs.h file anywhere in the project. Where do I go from here?

Edit: I would also like to note i get a similar issue, but slightly different, with the mbed_blinky program

mbed_blinky Build Errors

Build target 'mbed NXP LPC11U24'
compiling main.cpp...
linking...
.\build\mbed_blinky.axf: Error: L6200E: Symbol remove multiply defined (by iostubs.o and retarget.o).
.\build\mbed_blinky.axf: Error: L6200E: Symbol rename multiply defined (by iostubs.o and retarget.o).
.\build\mbed_blinky.axf: Error: L6200E: Symbol tmpfile multiply defined (by iostubs.o and retarget.o).
.\build\mbed_blinky.axf: Error: L6200E: Symbol tmpnam multiply defined (by iostubs.o and retarget.o).
Target not created

For this, I cannot find ether the retarget.h OR the iostubs.h files, so I'm really not sure what is going on here....

- Terryn

Hi Terryn Fredrickson,

what version of the mbed lib does your app use?

Regards,
0xc0170

posted by Martin Kojtal 08 Jul 2014

@0xc0170

I tried using the most up to date mbed and usbmouse/usb device libs (updated 12 and 26 days ago respectively)

posted by Terryn Fredrickson 14 Jul 2014

3 Answers

9 years, 9 months ago.

The exporters don't seem to be backwards compatible with older versions of the mbed library. There are multiple instances of duplicate objects. You can update the mbed lib to the latest version and then export. That will be much easier than decoding/removing the extra paths and duplicate objects

I have tried using the most up to date libs, and I am still getting these errors.

posted by Terryn Fredrickson 14 Jul 2014

I just download the latest mbed-src on Nucleo_blink_led to uVision4 and has the same errors shown as "Error: L6200E: Symbol remove multiply defined (by iostrubs.o and retarget.o). Removed retarget.cpp caused more errors.

posted by Scott Kang 06 Nov 2014
9 years, 2 months ago.

My platform is ST Nucleo F103RB, and i got the same errors. I‘ve fixed it by referring to the following article. “使用MDK编译RT-Thread(LUA与DFS组件都打开)时的出现符号重复定义的问题的研究与解决http://www.douban.com/note/248445068/” The most easiest way is do not use the microlib, but it may increase your program size.Here is the introduction of microlib: http://www.keil.com/arm/microlib.asp

9 years, 5 months ago.

I got the same compiling errors, have you been fixed it?

Provide details, what you are exporting, version of libraries used, target, IDE !

posted by Martin Kojtal 25 Nov 2014