We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi,
When switching compiler from version 5.06 to 6.7 I get a linker error which indicates that several header files are requesting RogueWave, which is not avalable.
.\Flash\application.axf: Warning: L6869W: color.o requested the Rogue Wave Standard C++ Library which has been removed from the product. This might cause link errors because libc++ is used instead.
How can a file request Rogue Wave? I also get a missing symbol
.\Flash\application.axf: Error: L6218E: Undefined symbol __aeabi_vec_ctor_nocookie_nodtor (referred from application.o).
Is this related to something missing?
It appears in the ARM documentation ...
developer.arm.com/.../reference-guide
infocenter.arm.com/.../index.jsp
I'm not really sure what I am looking for. Is it some kind of define, a usage of a function or something else?
To, perhaps, clarify: I have an existing application, I have made no concious choice of choosing the Rogue Wave C++ library. I was trying to change from 5.04 compiler to the 6.7, but I got linker errors. Is this something requested explicitly in the header, or is this something that is perhaps caused by some kind of library I'm including.
Neither link provides information about how to avoid the linker error which is what is desired. Particularly this happens when compiling in mbed and importing to Keil. Please provide workarounds if you know them.
The original post is over a year old - are you saying that you are still having the issue?
I have this issue and cannot find a solution for it. Can you shed some light?
Keil has a migration and compatibility guide that might be helpful. For example, this page discusses compatibility issues between the 5.x and 6.x compilers, and how to resolve them.
Yes, it is still a problem, even now, another year later. The recommended solution when getting a linker error that requests Rogue Wave is to recompile using arm compiler 6. However, the problem is the offending files are library files in mbed. It's not clear how to force all the "finished" mbed libraries to recompile. Hence mbed output when imported to Keil will not build. Tell us how to force mbed to recompile all it's libraries and this problem will likely be resolved.
So that's more of an mbed problem than a Keil problem ?
https://os.mbed.com/questions/87330/Rogue-Wave-Standard-C-Library-which-has-/
Most likely, although it is hard to tell. It used to be one could compile programs in mbed, and then import and debug in Keil. However, now mbed programs no longer run in Keil because it appears the Keil compiler or linker have been changed and are no longer compatible with mbed libraries. On would think the mbed libraries would be updated to match, but this doesn't appear to be the case.