Migration from GCC3.4.3 to GCC4.1.2

John (Eljay) Love-Jensen eljay@adobe.com
Thu Apr 30 11:54:00 GMT 2009


Hi ruks,

Are you using explicit template instantiation?

If you look at ConfigTest.cpp line 638, is the body for ylmm::basic_parser<action::expression, ylmm::basic_location, 0, ylmm::basic_lock>:arse(void*) in a template header file (.h) being including by ConfigTest.cpp (or in ConfigTest.cpp itself)?

If the body is not in the template header file (and not in ConfigTest.cpp itself), I recommend putting the body of the arse() method into the appropriate template header file and use vague linkage instead of explicit template instantiation.

If you really prefer explicit template instantiation, I recommend checking to see why the .o which should have the instantiation of the arse() method does not have it instantiated.

Likewise for the other link-time missing templates methods and/or functions.

HTH,
--Eljay



More information about the Gcc-help mailing list