D
dale_bertrand
I'm having a problem linking my code using GCC v3.3.5. I get the
following error:
Csw_CONCAT.o(.gnu.linkonce.r._ZTV25ScxFifoPutMonitorListenerI9CswBfmCmdE+0x10):
undefined reference to
`ScxFifoPutMonitorListener<CswBfmCmd>::handleTransaction(scv_shared_ptr<ScxTransactionDescBaseType>,
So the linker is complaining that it cannot find the template method
described in the error.
When I do an 'nm' on the .o the method is there. I get:
_ZN25ScxFifoPutMonitorListenerI9CswBfmCmdE17handleTransactionE14scv_shared_ptrI26ScxTransactionDescBaseTypeESs
Using 'c++filt' this translates to exactly the method the linker is
complaining about:
ScxFifoPutMonitorListener<CswBfmCmd>::handleTransaction(scv_shared_ptr<ScxTransactionDescBaseType>,
std::basic_string<char, std::char_traits<char>, std::allocator<char> >)
This is the version of GCC I'm using:
g++ (GCC) 3.3.5 20050117 (prerelease) (SUSE Linux)
Are there any know problems with GCC v3.3.5 linking code with
templates?
Thanks,
Dale
following error:
Csw_CONCAT.o(.gnu.linkonce.r._ZTV25ScxFifoPutMonitorListenerI9CswBfmCmdE+0x10):
undefined reference to
`ScxFifoPutMonitorListener<CswBfmCmd>::handleTransaction(scv_shared_ptr<ScxTransactionDescBaseType>,
So the linker is complaining that it cannot find the template method
described in the error.
When I do an 'nm' on the .o the method is there. I get:
_ZN25ScxFifoPutMonitorListenerI9CswBfmCmdE17handleTransactionE14scv_shared_ptrI26ScxTransactionDescBaseTypeESs
Using 'c++filt' this translates to exactly the method the linker is
complaining about:
ScxFifoPutMonitorListener<CswBfmCmd>::handleTransaction(scv_shared_ptr<ScxTransactionDescBaseType>,
std::basic_string<char, std::char_traits<char>, std::allocator<char> >)
This is the version of GCC I'm using:
g++ (GCC) 3.3.5 20050117 (prerelease) (SUSE Linux)
Are there any know problems with GCC v3.3.5 linking code with
templates?
Thanks,
Dale