[vlc-devel] Mingw32 build problems: Dash, Skins2 and libstdc++

Chris Smowton cs448 at cam.ac.uk
Tue Jun 26 02:29:02 CEST 2012


Hey all,

Has anyone seen this problem before: when building with the latest 
mingw64 targeting i686 (because trunk VLC seems to require a very recent 
mingw64 version), when compiling Skins2 or DASH I get lots of errors like:

/home/chris/mingw64/install/i686-w64-mingw32/include/c++/4.8.0/istream:609: 
undefined reference to `construction vtable for 
std::istream-in-std::basic_stringstream<char, std::char_traits<char>, 
std::allocator<char> >

A quick look at the libtool output indicates this is because it's trying 
to link against 
/home/chris/mingw64/install/i686-w64-mingw32/lib/../lib/libstdc++.dll.a

However this file does not export any vtable symbols 
(i686-w64-mingw32-objdump -C -t 
/home/chris/mingw64/install/i686-w64-mingw32/lib/../lib/libstdc++.dll.a 
| grep -i vtable yields nothing)

By comparison, both 
/home/chris/mingw64/install/i686-w64-mingw32/lib/libstdc++-6.dll and 
libstdc++.a do export vtable symbols, including an exact match for the 
symbol required.

I guess now I have to figure out how the hell libtool works, and how to 
hack it to statically link just libstdc++, but perhaps someone has 
encountered and solved the same problem?

Chris



More information about the vlc-devel mailing list