Cross-compiling libraries for ARM device
I am experiencing some difficulties in deploying a sample application which uses Qt libraries to an ARM device. I compiled the libraries using the cross-compiler provided for my system, I copied the binaries to the device and I compiled with the same compiler a sample appliction. When I try to start it this is what I get;
/usr/lib/libstdc++.so.6: version `CXXABI_ARM_1.3开发者_Go百科.3' not found (required by ./libQtNetwork.so.4)
/usr/lib/libstdc++.so.6: version `CXXABI_ARM_1.3.3' not found (required by ./libQtCore.so.4)
What could be causing this? I used the toolchain provided by the manufacturer, so it should be ok... Is it possible that the compiler is correct but it is linking not to the libstc++ it is provided with but with the libstdc++ I have in my system, following the link path? Thanks!
As far as I can see, the first comment to my question was exactly the solution. The version of the library was the same but was not compatible. I moved that library to the device and everything worked.
From my experience, I have a FriendlyARM that was shipped with a GCC toolchain. To generate correct code I need to specify by hand -mcpu
, -mfp
, -mabi
and -mabi-float
.
If you build your own GCC you may set the defaults, but at least in my devkit, they came with the wrong defaults.
精彩评论