[csw-maintainers] C++ ABIs are fun (not)
Laurent Blume
laurent at opencsw.org
Tue Jun 11 20:55:26 CEST 2013
Hello all,
I'm a bit in a tie because of C++ ABI issue.
I'm trying t o build the scummvm-tools. They use wxwidget, which is a
C++ library.
Only g++ is officially supported. That can't work, because wxwidget is
built with Studio.
So I tinkered a little, and it builds reasonably well with Studio, until
this:
$ CC -library=iostream -library=rwtools7 -g -DHAVE_CONFIG_H -DSOLARIS
-DSYSTEM_NOT_SUPPORTING_D_TYPE -DPOSIX -I. -I. -c scummvm-tools-cli.cpp
-o scummvm-tools-cli.o
"scummvm-tools-cli.cpp", line 43: Error: Could not find a match for
std::deque<std::string>::deque(char**, char**) needed in
ToolsCLI::run(int, char**).
1 Error(s) detected.
Basically, it appears to be using a constructor that's not supported on
Studio.
However, I've found out that this bit builds when adding
-library=stlport4. But that doesn't help much, because it means that all
dependencies must be built with that too, so it's practically the same
problem as the GCC incompatibility.
At this point, I wonder what's the best path? Have a special GCC-built
version of the lib (messy)? Try to get upstream change their code
(doubtful)? Give it up already and get a drink?
Thanks for any insight,
Laurent
More information about the maintainers
mailing list