On Wed March 7 2012 09:41:23 Timothy Pearson wrote: > Let's take a simple example, qWarning. This becomes _Z8qWarningPKcz in > libqt-mt.so.3.3.8 (nm -D /usr/lib/libqt-mt.so | grep qWarning), and > _Z8qWarningPKcz in /usr/lib/libQtCore.so (nm -D /usr/lib/libQtCore.so | > grep qWarning). If my program references Z8qWarningPKcz, which library > will the symbol resolver choose at runtime? They are not binary > compatible with each other, and when the symbol resolver chooses the wrong > one at runtime (which it will do quite often) the entire program will > crash. Could the problem you describe be addressed more easily with C++ namespaces? --Mike Bird