$ g++ -E typed_factory.hpp g++: typed_factory.hpp: linker input file unused because linking not done
That any code path when running with -E could cause an error to appear about *compiling* let alone *linking* doesn't make any sense. As it turns out renaming typed_factory.hpp to typed_factory.h fixes the problem. This is actually 3 bugs: 1. .hpp should be a recognized extension. It's fairly common, boost uses it 2. The error should be "unrecognized extension" 3. You should never get an error about the compiler or the linker when only running the preprocessor -- Summary: Error message when running preprocessor only is incoherent Product: gcc Version: 4.2.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: joseph dot h dot garvin at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40562