Linker Warning - what does it mean

I’m porting the open source JAUS library from Linux to QNX.

After adjusting the Makefiles to use qcc (with the 3.3.5 compiler), switching from shared libraries to static ones and doing a few other minor changes to the Makefiles and code I have the project compiling and linking.

However when I link one of the test executables I get the following warning:

/usr/qnx630/host/qnx6/x86/usr/bin/i386-pc-nto-qnx6.3.0-ld: …/libopenJaus/lib/libopenJaus.a(FileLoader.o)(.debug_info+0x145e5): unresolvable relocation against symbol _ZZNSt13basic_filebufIcSt11char_traitsIcEE5_InitEP6_FiletNS2_7_InitflEE7_Stinit' /usr/qnx630/host/qnx6/x86/usr/bin/i386-pc-nto-qnx6.3.0-ld: ../libopenJaus/lib/libopenJaus.a(FileLoader.o)(.debug_info+0x1f24b): unresolvable relocation against symbol _ZGVNSt7codecvtIcc9_MbstatetE2idE’
/usr/qnx630/host/qnx6/x86/usr/bin/i386-pc-nto-qnx6.3.0-ld: …/libopenJaus/lib/libopenJaus.a(FileLoader.o)(.debug_info+0x1f4e0): unresolvable relocation against symbol _ZNSt7codecvtIcc9_MbstatetE2idE' /usr/qnx630/host/qnx6/x86/usr/bin/i386-pc-nto-qnx6.3.0-ld: ../libopenJaus/lib/libopenJaus.a(FileLoader.o)(.debug_info+0x1f504): unresolvable relocation against symbol _ZNSt4fposI9_MbstatetE4_StzE’

I’ve never seen this before. It doesn’t appear to be an actual error because the executable is still created and seems to run fine. I suspect it’s because the code is a mix of C libraries with C++ high level wrappers/applications. But I don’t like seeing warnings during compilation and would like to clear this up. Does anyone know what this means?

TIA,

Tim

Ive seen that before but cant remember exactly what the cause was. I think it was order of link. It had something to do with C++. Check with ldd and objdump maybe that will give you a clue. Try adding -lang-c++ to linker.