On May-15, Jeff Clites wrote: > > When linking against ("using") a static library version of ICU, we need > a C++-aware linker (because ICU contains C++ code); with a > dynamic-library version of ICU presumably we wouldn't.
I don't know if this applies here, but there is a good reason to use a C++-compatible linker even if you aren't including any C++ code. By default, many C linkers will not allow C++ exceptions to propagate through their stack frames. Unwinding the stack for an exception requires some additional information stored in the stack frames. I had to compile my own version of perl for my day job code, since we are writing in C++ and embedding the Perl interpreter, and if C++ calls perl calls C++ throws an exception, then I need the outer C++ try block to catch the exception.