Andrei Alexandrescu wrote:
Mangled symbols are the main reason
for which linker messages are considered incomprehensible.
I beg to differ. The same confusion appears when linking C programs, where the
names are not mangled.
Top 3 linker questions:
1. What does it mean when it says "foo is referenced but not defined" ?
2. What does it mean when it says that "foo is defined in more than one module"
?
3. Why is my executable file so large?
While it's nice to demangle the names, and optlink does so for C++ names, it
doesn't reduce the confusion about what the linker is doing. Surprisingly, I see
these questions not just from newbies, but regularly from people with 10+ years
of experience.