#30 Questions "Info: resolving..." messages and about DLLs

closed
nobody
None
5
2010-02-26
2010-02-26
No

I looked through the FAQs and other documentation I could find, but couldn't find answers to these basic questions. Is there a users manual or equivalent that I could access in place of posting such basic questions here?

Anyways, on to my questions:

It appears that I have a working 64-bit Linux to 64-bit Windows cross compiler (thanks to help mainly from jon_y and nightstrike).
After a successful compilation of my application, at the link step I get the messages:

++++++

Info: resolving std::cout by linking to __imp___ZSt4cout (auto-import)
Info: resolving VTT for std::basic_fstream<char, std::char_traits<char> > by linking to __imp___ZTTSt13basic_fstreamIcSt11char_traitsIcEE (auto-import)
Info: resolving vtable for std::basic_fstream<char, std::char_traits<char> > by linking to __imp___ZTVSt13basic_fstreamIcSt11char_traitsIcEE (auto-import)
Info: resolving vtable for std::basic_filebuf<char, std::char_traits<char> > by linking to __imp___ZTVSt13basic_filebufIcSt11char_traitsIcEE (auto-import)
Info: resolving vtable for std::basic_streambuf<char, std::char_traits<char> > by linking to __imp___ZTVSt15basic_streambufIcSt11char_traitsIcEE (auto-import)
Info: resolving vtable for std::basic_ios<char, std::char_traits<char> > by linking to __imp___ZTVSt9basic_iosIcSt11char_traitsIcEE (auto-import)
Info: resolving VTT for std::basic_ifstream<char, std::char_traits<char> > by linking to __imp___ZTTSt14basic_ifstreamIcSt11char_traitsIcEE (auto-import)
Info: resolving vtable for std::basic_ifstream<char, std::char_traits<char> > by linking to __imp___ZTVSt14basic_ifstreamIcSt11char_traitsIcEE (auto-import)
Info: resolving vtable for __cxxabiv1::__class_type_info by linking to __imp___ZTVN10__cxxabiv117__class_type_infoE (auto-import)
Info: resolving vtable for std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> > by linking to __imp___ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE (auto-import)
Info: resolving VTT for std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> > by linking to __imp___ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE (auto-import)
Info: resolving vtable for std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> > by linking to __imp___ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE (auto-import)
Info: resolving vtable for __cxxabiv1::__si_class_type_info by linking to __imp___ZTVN10__cxxabiv120__si_class_type_infoE (auto-import)
Info: resolving VTT for std::basic_ofstream<char, std::char_traits<char> > by linking to __imp___ZTTSt14basic_ofstreamIcSt11char_traitsIcEE (auto-import)
Info: resolving vtable for std::basic_ofstream<char, std::char_traits<char> > by linking to __imp___ZTVSt14basic_ofstreamIcSt11char_traitsIcEE (auto-import)
Info: resolving std::cin by linking to __imp___ZSt3cin (auto-import)
/usr/local/bin/../lib/gcc/x86_64-w64-mingw32/4.5.0/../../../../x86_64-w64-mingw32/bin/ld: warning: auto-importing has been activated without --enable-auto-import specified on the command line.
This should work unless it involves constant data structures referencing symbols from auto-imported DLLs.

++++++

Is this expected, or does it indicate a problem I should address?

Second question:

I copied my executable to my 64-bit Windows Vista machine and tried to run it. Not surprisingly, the program failed because it couldn't find the needed DLLs
(e.g., libstdc++-6.dll). What DLLs will I need to run an application compiled in this way, and how do I find/generate them?

Thanks.

Discussion

  • Kai Tietz

    Kai Tietz - 2010-02-26
    • status: open --> pending
     
  • Kai Tietz

    Kai Tietz - 2010-02-26

    Hello,

    This behavior is at the moment to be expected. This is reasoned by libstdc++ (g++) lack of support dllimport/dllexport in namespace. There is already a bug to be found on gcc's bug-tracker AFAIK.

    To silent build, just use the ld option '--enable-auto-import' (via gcc frontend -Wl,--enable-auto-import). This will silence your build.

    To your second question, as you are using the shared versions of libstdc++ and libgcc, you have to provide those DLLs next to your application, too. This is possible, as both libraries having the GPL runtime exception, so you are allowed to redistribute them.
    If you don't have an application making use of exception throwing over DLL boundaries, you can use also for build the option '-static-libgcc -static-libstdc++' or just '-static'. So your app gets those libraries statically linked.

    Regards,
    Kai

     
  • James Tilton

    James Tilton - 2010-02-26
    • status: pending --> open
     
  • James Tilton

    James Tilton - 2010-02-26

    Thanks Kai - both suggestions (--enable-auto-import and -static) worked smoothly!

     
  • Kai Tietz

    Kai Tietz - 2010-02-26

    be welcome

     
  • Kai Tietz

    Kai Tietz - 2010-02-26
    • status: open --> closed
     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks