From: Aaron W. L. <aar...@aa...> - 2008-05-17 06:13:42
|
Earnie Boyd wrote: > Quoting Doug Schaefer <dsc...@ro...>: > >> Getting back to GDI+, I thought one of the issues we had was linking >> against MSVC built C++. Is there a workaround for this? > > Use C wrappers. This is the actual difficulty here: the ABI incompatibility. One way or another, you're going to have to map the GCC C++ ABI to the MSVC C++ ABI, in whatever subset of C++ is used by GDI+. This is the main work to be done, and it is probably nontrivial. I am not familiar with GDI+, but the above mapping may not actually be possible in any reasonable sense. This would be the case if GDI+ depended on class layout beyond a minimal extent. For instance, if the compiler needs to construct objects to pass to GDI+ by reference, and GDI+ needs to modify these objects asynchronously, the mapping may be practically impossible to accomplish. However, if GDI+ uses a comfortably small subset of C++, the mapping may be readily possible; only the application of money and/or volunteer time will be required. There is always talk of adding support for the MSVC ABI to GCC. The main thing keeping this from happening is the amount of work and expertise that would be required. |