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.