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.

Reply via email to