[xsde-users] libxsde.a - undefined reference to 'std::ios_base::Init::Init()

Kevin Drake kdrake3 at oswego.edu
Thu Feb 6 13:29:49 EST 2014


Hi Boris,



You were spot on with your advice. I tried the hello world example using
the ARM g++ cross compiler that I'm using with my application. It failed
with several undefined references. I then went back and cleaned / rebuilt
the xsde runtime library with the "XSDE_IOSTREAM" variable disabled in the
config.make file. Next, I regenerated my binding source and include files
using the "-no-iostream" compiler option.  Finally, I imported the new
binding files into my project and cleaned / rebuilt the application. Sure
enough, that resolved my issues and I got a clean executable. Whew, thanks!



-Kevin




On Thu, Feb 6, 2014 at 12:11 PM, Boris Kolpackov <boris at codesynthesis.com>wrote:

> Hi Kevin,
>
> Kevin Drake <kdrake3 at oswego.edu> writes:
>
> > Do you have any other suggestions I can try? Are there any additional
> > options to try with how I built the runtime libxsde.a library?
>
> There are two things that you can try:
>
> 1. Try to compile and link a hello world application (that uses iostream)
>    manually by invoking your g++ cross-compiler. If that works, then
>    add the -v option to the linker step and see what libraries are
>    being linked and in what order (libxsde.a should come right after
>    your object files).
>
> 2. If #1 doesn't work (i.e., you get the same link errors), then it
>    most likely means that libstdc++ for your target were built with
>    iostream support disabled. In this case, you will also need to
>    disable it in XSD/e (see the XSDE_IOSTREAM config.make variable
>    and the --no-iostream compiler option).
>
> Boris
>


More information about the xsde-users mailing list