[aspectc-user] Problems using AspectC++ with SystemC

Sergio Queiroz sergio at consiste.dimap.ufrn.br
Thu Feb 17 17:05:56 CET 2005


Hi!!

I am a student and I am trying to use aspects in a project that I developed
using the SystemC library (www.systemc.org).

First, I tried to create a small example with both, AspectC++ and SystemC, and
compiled it but I had some problems during the compilation.

The SystemC header file sc_signal.h has declares a local static variable in
three different classes and the ag++ compiler couldn't deal with this.

As these local static variables were not so important I commented two of them
and I compiled my small example.

After I tried to adapt my project developed using SystemC so I created an
Aspect just to print something and tried to compile the original project again.

The problems occured during the linking of the object files and most of them
were related with the constructors and the destructors. In the end of this
message I pasted the compilation erros. I am using linux and g++ 3.3.2.

It's important to me make this compilation works because it is my research theme.

Best regards,
Sérgio


First error: static local variables in different classes with the same name

g++ -ggdb -O3 -Wall -Wno-deprecated -p. --config puma.config  -I. -I..
-I../../../include -c main.cpp
/usr/include/c++/3.3.2/backward/backward_warning.h:32: warning, This file
includes at least one deprecated or antiquated header. Please consider using
one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples
include substituting the <X> header for the <X.h> header for C++ includes, or
<sstream> instead of the deprecated header <strstream.h>. To disable this
warning use -Wno-deprecated.
/usr/include/c++/3.3.2/backward/backward_warning.h:32: warning, This file
includes at least one deprecated or antiquated header. Please consider using
one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples
include substituting the <X> header for the <X.h> header for C++ includes, or
<sstream> instead of the deprecated header <strstream.h>. To disable this
warning use -Wno-deprecated.
/usr/include/c++/3.3.2/backward/backward_warning.h:32: warning, This file
includes at least one deprecated or antiquated header. Please consider using
one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples
include substituting the <X> header for the <X.h> header for C++ includes, or
<sstream> instead of the deprecated header <strstream.h>. To disable this
warning use -Wno-deprecated.
In file included from ../../../include/systemc/kernel/sc_lambda.h:45,
                 from ../../../include/systemc/kernel/sc_module.h:53,
                 from ../../../include/systemc.h:44,
                 from main.cpp:2:
../../../include/systemc/datatypes/bit/sc_logic.h: In static member function
`static sc_dt::sc_logic_value_t sc_dt::sc_logic::to_value(char)':
../../../include/systemc/datatypes/bit/sc_logic.h:102: warning: array
subscript has type `char'
ag++ -ggdb -O3 -Wall -Wno-deprecated -p. --config puma.config  -I. -I..
-I../../../include -L. -L.. -L../../../lib-linux -o a.x a.o main.o  -lsystemc
-lm  2>&1 | c++filt
main.o(.gnu.linkonce.t._ZNK9sc_signalIbE4kindEv+0x2)/usr/bin/ld: Dwarf Error:
mangled line number section.
: In function `sc_signal<bool>::kind() const':
: undefined reference to `sc_signal<bool>::kind_string'
main.o(.gnu.linkonce.t._ZNK9sc_signalIN5sc_dt8sc_logicEE4kindEv+0x2): In
function `sc_signal<sc_dt::sc_logic>::kind() const':
: undefined reference to `sc_signal<sc_dt::sc_logic>::kind_string'
collect2: ld returned 1 exit status
error: Execution failed: g++ -o "a.x" -ggdb -O3 -Wall -Wno-deprecated -I. -I..
-I../../../include -L. -L.. -L../../../lib-linux -lsystemc -lm "a.o" "main.o"
-x c++



Second error: linking of the object files in a small project using AspectC++
and SystemC

ag++ -ggdb -O3 -Wall -Wno-deprecated -p. --config
/home/sergio/aspectc++-0.9.1/puma.config  -I. -I.. -I../../../include -L. -L..
-L../../../lib-linux -o memory.x memory.o application.o slaveWrapper.o
masterWrapper.o main.o  -lsystemc -lm  2>&1 | c++filt
main.o(.gnu.linkonce.t._ZN12SlaveWrapperD1Ev+0x38e)/usr/bin/ld: Dwarf Error:
mangled line number section.
: In function `SlaveWrapper::~SlaveWrapper [in-charge]()':
: undefined reference to `sc_inout<bool>::~sc_inout [not-in-charge]()'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperD1Ev+0x3ac): In function
`SlaveWrapper::~SlaveWrapper [in-charge]()':
: undefined reference to `sc_inout<bool>::~sc_inout [not-in-charge]()'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperD1Ev+0x4f2): In function
`SlaveWrapper::~SlaveWrapper [in-charge]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperD1Ev+0x4fa): In function
`SlaveWrapper::~SlaveWrapper [in-charge]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperD1Ev+0x533): In function
`SlaveWrapper::~SlaveWrapper [in-charge]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperD1Ev+0x53b): In function
`SlaveWrapper::~SlaveWrapper [in-charge]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperD1Ev+0x576): In function
`SlaveWrapper::~SlaveWrapper [in-charge]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperD1Ev+0x57e): In function
`SlaveWrapper::~SlaveWrapper [in-charge]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperD1Ev+0xa52): In function
`SlaveWrapper::~SlaveWrapper [in-charge]()':
: undefined reference to `sc_inout<bool>::~sc_inout [not-in-charge]()'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperD1Ev+0xa74): In function
`SlaveWrapper::~SlaveWrapper [in-charge]()':
: undefined reference to `sc_inout<bool>::~sc_inout [not-in-charge]()'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperD1Ev+0xe92): In function
`SlaveWrapper::~SlaveWrapper [in-charge]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperD1Ev+0xe9b): In function
`SlaveWrapper::~SlaveWrapper [in-charge]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperD1Ev+0x10c9): In function
`SlaveWrapper::~SlaveWrapper [in-charge]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperD1Ev+0x10d2): In function
`SlaveWrapper::~SlaveWrapper [in-charge]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperD1Ev+0x1108): In function
`SlaveWrapper::~SlaveWrapper [in-charge]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperD1Ev+0x1152): In function
`SlaveWrapper::~SlaveWrapper [in-charge]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperD1Ev+0x115b): In function
`SlaveWrapper::~SlaveWrapper [in-charge]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperD1Ev+0x118d): In function
`SlaveWrapper::~SlaveWrapper [in-charge]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperC1E14sc_module_name+0x13b): In
function `SlaveWrapper::SlaveWrapper[in-charge](sc_module_name)':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperC1E14sc_module_name+0x186): In
function `SlaveWrapper::SlaveWrapper[in-charge](sc_module_name)':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperC1E14sc_module_name+0x1d1): In
function `SlaveWrapper::SlaveWrapper[in-charge](sc_module_name)':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperC1E14sc_module_name+0x7a3): In
function `SlaveWrapper::SlaveWrapper[in-charge](sc_module_name)':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperC1E14sc_module_name+0x7ac): In
function `SlaveWrapper::SlaveWrapper[in-charge](sc_module_name)':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperC1E14sc_module_name+0x7ea): In
function `SlaveWrapper::SlaveWrapper[in-charge](sc_module_name)':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperC1E14sc_module_name+0x7f3): In
function `SlaveWrapper::SlaveWrapper[in-charge](sc_module_name)':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperC1E14sc_module_name+0x833): In
function `SlaveWrapper::SlaveWrapper[in-charge](sc_module_name)':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperC1E14sc_module_name+0x83c): In
function `SlaveWrapper::SlaveWrapper[in-charge](sc_module_name)':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperC1E14sc_module_name+0x8c1): In
function `SlaveWrapper::SlaveWrapper[in-charge](sc_module_name)':
: undefined reference to `sc_inout<bool>::~sc_inout [not-in-charge]()'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperC1E14sc_module_name+0x8da): In
function `SlaveWrapper::SlaveWrapper[in-charge](sc_module_name)':
: undefined reference to `sc_inout<bool>::~sc_inout [not-in-charge]()'
main.o(.gnu.linkonce.t._ZN13MasterWrapperD1Ev+0xad): In function
`MasterWrapper::~MasterWrapper [in-charge]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN13MasterWrapperD1Ev+0xb5): In function
`MasterWrapper::~MasterWrapper [in-charge]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN13MasterWrapperD1Ev+0xee): In function
`MasterWrapper::~MasterWrapper [in-charge]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN13MasterWrapperD1Ev+0xf6): In function
`MasterWrapper::~MasterWrapper [in-charge]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN13MasterWrapperD1Ev+0x12f): In function
`MasterWrapper::~MasterWrapper [in-charge]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN13MasterWrapperD1Ev+0x137): In function
`MasterWrapper::~MasterWrapper [in-charge]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN13MasterWrapperD1Ev+0x282): In function
`MasterWrapper::~MasterWrapper [in-charge]()':
: undefined reference to `sc_inout<bool>::~sc_inout [not-in-charge]()'
main.o(.gnu.linkonce.t._ZN13MasterWrapperD1Ev+0x2a0): In function
`MasterWrapper::~MasterWrapper [in-charge]()':
: undefined reference to `sc_inout<bool>::~sc_inout [not-in-charge]()'
main.o(.gnu.linkonce.t._ZN13MasterWrapperD1Ev+0x52b): In function
`MasterWrapper::~MasterWrapper [in-charge]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN13MasterWrapperD1Ev+0x531): In function
`MasterWrapper::~MasterWrapper [in-charge]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN13MasterWrapperD1Ev+0x56a): In function
`MasterWrapper::~MasterWrapper [in-charge]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN13MasterWrapperD1Ev+0x570): In function
`MasterWrapper::~MasterWrapper [in-charge]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN13MasterWrapperD1Ev+0x5a9): In function
`MasterWrapper::~MasterWrapper [in-charge]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN13MasterWrapperD1Ev+0x5af): In function
`MasterWrapper::~MasterWrapper [in-charge]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN13MasterWrapperD1Ev+0x99b): In function
`MasterWrapper::~MasterWrapper [in-charge]()':
: undefined reference to `sc_inout<bool>::~sc_inout [not-in-charge]()'
main.o(.gnu.linkonce.t._ZN13MasterWrapperD1Ev+0x9bd): In function
`MasterWrapper::~MasterWrapper [in-charge]()':
: undefined reference to `sc_inout<bool>::~sc_inout [not-in-charge]()'
main.o(.gnu.linkonce.t._ZN13MasterWrapperC1E14sc_module_name+0x28a): In
function `MasterWrapper::MasterWrapper[in-charge](sc_module_name)':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN13MasterWrapperC1E14sc_module_name+0x2d5): In
function `MasterWrapper::MasterWrapper[in-charge](sc_module_name)':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN13MasterWrapperC1E14sc_module_name+0x31e): In
function `MasterWrapper::MasterWrapper[in-charge](sc_module_name)':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN13MasterWrapperC1E14sc_module_name+0x7a8): In
function `MasterWrapper::MasterWrapper[in-charge](sc_module_name)':
: undefined reference to `sc_inout<bool>::~sc_inout [not-in-charge]()'
main.o(.gnu.linkonce.t._ZN13MasterWrapperC1E14sc_module_name+0x7dd): In
function `MasterWrapper::MasterWrapper[in-charge](sc_module_name)':
: undefined reference to `sc_inout<bool>::~sc_inout [not-in-charge]()'
main.o(.gnu.linkonce.t._ZN13MasterWrapperC1E14sc_module_name+0x87b): In
function `MasterWrapper::MasterWrapper[in-charge](sc_module_name)':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN13MasterWrapperC1E14sc_module_name+0x884): In
function `MasterWrapper::MasterWrapper[in-charge](sc_module_name)':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN13MasterWrapperC1E14sc_module_name+0x8b7): In
function `MasterWrapper::MasterWrapper[in-charge](sc_module_name)':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN13MasterWrapperC1E14sc_module_name+0x8c0): In
function `MasterWrapper::MasterWrapper[in-charge](sc_module_name)':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN13MasterWrapperC1E14sc_module_name+0x8f5): In
function `MasterWrapper::MasterWrapper[in-charge](sc_module_name)':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN13MasterWrapperC1E14sc_module_name+0x8fe): In
function `MasterWrapper::MasterWrapper[in-charge](sc_module_name)':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZNK9sc_signalIN5sc_dt6sc_intILi3EEEE5printERSo+0x16):
In function `sc_signal<sc_dt::sc_int<(int)3> >::print(std::basic_ostream<char,
std::char_traits<char> >&) const':
: undefined reference to `sc_dt::sc_int_base::to_string(sc_numrep) const'
main.o(.gnu.linkonce.t._ZNK9sc_signalIN5sc_dt6sc_intILi3EEEE4dumpERSo+0x57):
In function `sc_signal<sc_dt::sc_int<(int)3> >::dump(std::basic_ostream<char,
std::char_traits<char> >&) const':
: undefined reference to `sc_dt::sc_int_base::to_string(sc_numrep) const'
main.o(.gnu.linkonce.t._ZNK9sc_signalIN5sc_dt6sc_intILi3EEEE4dumpERSo+0x96):
In function `sc_signal<sc_dt::sc_int<(int)3> >::dump(std::basic_ostream<char,
std::char_traits<char> >&) const':
: undefined reference to `sc_dt::sc_int_base::to_string(sc_numrep) const'
main.o(.gnu.linkonce.t._ZNK9sc_signalIN5sc_dt6sc_intILi2EEEE5printERSo+0x16):
In function `sc_signal<sc_dt::sc_int<(int)2> >::print(std::basic_ostream<char,
std::char_traits<char> >&) const':
: undefined reference to `sc_dt::sc_int_base::to_string(sc_numrep) const'
main.o(.gnu.linkonce.t._ZNK9sc_signalIN5sc_dt6sc_intILi2EEEE4dumpERSo+0x57):
In function `sc_signal<sc_dt::sc_int<(int)2> >::dump(std::basic_ostream<char,
std::char_traits<char> >&) const':
: undefined reference to `sc_dt::sc_int_base::to_string(sc_numrep) const'
main.o(.gnu.linkonce.t._ZNK9sc_signalIN5sc_dt6sc_intILi2EEEE4dumpERSo+0x96):
more undefined references to `sc_dt::sc_int_base::to_string(sc_numrep) const'
follow
main.o(.gnu.linkonce.r._ZTV6sc_outIbE+0x38): undefined reference to
`sc_inout<bool>::end_of_elaboration()'
main.o(.gnu.linkonce.t._ZN6sc_outIbED1Ev+0x11): In function
`sc_out<bool>::~sc_out [in-charge]()':
: undefined reference to `sc_inout<bool>::~sc_inout [not-in-charge]()'
main.o(.gnu.linkonce.t._ZN6MemoryC1E14sc_module_name+0xe4): In function
`Memory::Memory[in-charge](sc_module_name)':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN6MemoryC1E14sc_module_name+0x132): In function
`Memory::Memory[in-charge](sc_module_name)':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN6MemoryC1E14sc_module_name+0x17a): In function
`Memory::Memory[in-charge](sc_module_name)':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN6MemoryC1E14sc_module_name+0x1c5): In function
`Memory::Memory[in-charge](sc_module_name)':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN6MemoryC1E14sc_module_name+0x3be): In function
`Memory::Memory[in-charge](sc_module_name)':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN6MemoryC1E14sc_module_name+0x3c7): In function
`Memory::Memory[in-charge](sc_module_name)':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN6MemoryC1E14sc_module_name+0x3fe): In function
`Memory::Memory[in-charge](sc_module_name)':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN6MemoryC1E14sc_module_name+0x407): In function
`Memory::Memory[in-charge](sc_module_name)':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN6MemoryC1E14sc_module_name+0x43e): In function
`Memory::Memory[in-charge](sc_module_name)':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN6MemoryC1E14sc_module_name+0x447): In function
`Memory::Memory[in-charge](sc_module_name)':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN6MemoryC1E14sc_module_name+0x48d): In function
`Memory::Memory[in-charge](sc_module_name)':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN6MemoryC1E14sc_module_name+0x496): In function
`Memory::Memory[in-charge](sc_module_name)':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN6MemoryC1E14sc_module_name+0x5d7): In function
`Memory::Memory[in-charge](sc_module_name)':
: undefined reference to `sc_inout<bool>::~sc_inout [not-in-charge]()'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperD0Ev+0x94): In function
`SlaveWrapper::~SlaveWrapper [in-charge deleting]()':
: undefined reference to `sc_inout<bool>::~sc_inout [not-in-charge]()'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperD0Ev+0xac): In function
`SlaveWrapper::~SlaveWrapper [in-charge deleting]()':
: undefined reference to `sc_inout<bool>::~sc_inout [not-in-charge]()'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperD0Ev+0xd8): In function
`SlaveWrapper::~SlaveWrapper [in-charge deleting]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperD0Ev+0xe0): In function
`SlaveWrapper::~SlaveWrapper [in-charge deleting]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperD0Ev+0x110): In function
`SlaveWrapper::~SlaveWrapper [in-charge deleting]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperD0Ev+0x118): In function
`SlaveWrapper::~SlaveWrapper [in-charge deleting]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperD0Ev+0x148): In function
`SlaveWrapper::~SlaveWrapper [in-charge deleting]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperD0Ev+0x150): In function
`SlaveWrapper::~SlaveWrapper [in-charge deleting]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperD0Ev+0x2c6): In function
`SlaveWrapper::~SlaveWrapper [in-charge deleting]()':
: undefined reference to `sc_inout<bool>::~sc_inout [not-in-charge]()'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperD0Ev+0x2e2): In function
`SlaveWrapper::~SlaveWrapper [in-charge deleting]()':
: undefined reference to `sc_inout<bool>::~sc_inout [not-in-charge]()'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperD0Ev+0x31c): In function
`SlaveWrapper::~SlaveWrapper [in-charge deleting]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperD0Ev+0x322): In function
`SlaveWrapper::~SlaveWrapper [in-charge deleting]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperD0Ev+0x355): In function
`SlaveWrapper::~SlaveWrapper [in-charge deleting]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperD0Ev+0x35b): In function
`SlaveWrapper::~SlaveWrapper [in-charge deleting]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperD0Ev+0x38e): In function
`SlaveWrapper::~SlaveWrapper [in-charge deleting]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN12SlaveWrapperD0Ev+0x394): In function
`SlaveWrapper::~SlaveWrapper [in-charge deleting]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN11ApplicationC1E14sc_module_name+0xe4): In function
`Application::Application[in-charge](sc_module_name)':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN11ApplicationC1E14sc_module_name+0x132): In function
`Application::Application[in-charge](sc_module_name)':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN11ApplicationC1E14sc_module_name+0x17a): In function
`Application::Application[in-charge](sc_module_name)':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN11ApplicationC1E14sc_module_name+0x3c1): In function
`Application::Application[in-charge](sc_module_name)':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN11ApplicationC1E14sc_module_name+0x3ca): In function
`Application::Application[in-charge](sc_module_name)':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN11ApplicationC1E14sc_module_name+0x401): In function
`Application::Application[in-charge](sc_module_name)':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN11ApplicationC1E14sc_module_name+0x40a): In function
`Application::Application[in-charge](sc_module_name)':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN11ApplicationC1E14sc_module_name+0x441): In function
`Application::Application[in-charge](sc_module_name)':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN11ApplicationC1E14sc_module_name+0x44a): In function
`Application::Application[in-charge](sc_module_name)':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN11ApplicationC1E14sc_module_name+0x4cf): In function
`Application::Application[in-charge](sc_module_name)':
: undefined reference to `sc_inout<bool>::~sc_inout [not-in-charge]()'
main.o(.gnu.linkonce.t._ZN11ApplicationC1E14sc_module_name+0x4fc): In function
`Application::Application[in-charge](sc_module_name)':
: undefined reference to `sc_inout<bool>::~sc_inout [not-in-charge]()'
main.o(.gnu.linkonce.t._ZN13MasterWrapperD0Ev+0xad): In function
`MasterWrapper::~MasterWrapper [in-charge deleting]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN13MasterWrapperD0Ev+0xb5): In function
`MasterWrapper::~MasterWrapper [in-charge deleting]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN13MasterWrapperD0Ev+0xee): In function
`MasterWrapper::~MasterWrapper [in-charge deleting]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN13MasterWrapperD0Ev+0xf6): In function
`MasterWrapper::~MasterWrapper [in-charge deleting]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN13MasterWrapperD0Ev+0x12f): In function
`MasterWrapper::~MasterWrapper [in-charge deleting]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN13MasterWrapperD0Ev+0x137): In function
`MasterWrapper::~MasterWrapper [in-charge deleting]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN13MasterWrapperD0Ev+0x19a): In function
`MasterWrapper::~MasterWrapper [in-charge deleting]()':
: undefined reference to `sc_inout<bool>::~sc_inout [not-in-charge]()'
main.o(.gnu.linkonce.t._ZN13MasterWrapperD0Ev+0x1b8): In function
`MasterWrapper::~MasterWrapper [in-charge deleting]()':
: undefined reference to `sc_inout<bool>::~sc_inout [not-in-charge]()'
main.o(.gnu.linkonce.t._ZN13MasterWrapperD0Ev+0x322): In function
`MasterWrapper::~MasterWrapper [in-charge deleting]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN13MasterWrapperD0Ev+0x32b): In function
`MasterWrapper::~MasterWrapper [in-charge deleting]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN13MasterWrapperD0Ev+0x35d): In function
`MasterWrapper::~MasterWrapper [in-charge deleting]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN13MasterWrapperD0Ev+0x366): In function
`MasterWrapper::~MasterWrapper [in-charge deleting]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN13MasterWrapperD0Ev+0x398): In function
`MasterWrapper::~MasterWrapper [in-charge deleting]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN13MasterWrapperD0Ev+0x3a5): In function
`MasterWrapper::~MasterWrapper [in-charge deleting]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN13MasterWrapperD0Ev+0x40e): In function
`MasterWrapper::~MasterWrapper [in-charge deleting]()':
: undefined reference to `sc_inout<bool>::~sc_inout [not-in-charge]()'
main.o(.gnu.linkonce.t._ZN13MasterWrapperD0Ev+0x430): In function
`MasterWrapper::~MasterWrapper [in-charge deleting]()':
: undefined reference to `sc_inout<bool>::~sc_inout [not-in-charge]()'
main.o(.gnu.linkonce.t._ZN13MasterWrapperD0Ev+0x573): In function
`MasterWrapper::~MasterWrapper [in-charge deleting]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN13MasterWrapperD0Ev+0x5d7): In function
`MasterWrapper::~MasterWrapper [in-charge deleting]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN13MasterWrapperD0Ev+0x621): In function
`MasterWrapper::~MasterWrapper [in-charge deleting]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN6sc_outIbED0Ev+0x12): In function
`sc_out<bool>::~sc_out [in-charge deleting]()':
: undefined reference to `sc_inout<bool>::~sc_inout [not-in-charge]()'
main.o(.gnu.linkonce.r._ZTI6sc_outIbE+0x8): undefined reference to `typeinfo
for sc_inout<bool>'
main.o(.gnu.linkonce.t._ZN8sc_inoutIN5sc_dt6sc_intILi3EEEE18end_of_elaborationEv+0xc8):
In function `sc_inout<sc_dt::sc_int<(int)3> >::end_of_elaboration()':
: undefined reference to `sc_trace(sc_trace_file*, sc_dt::sc_int_base const&,
sc_string const&)'
main.o(.gnu.linkonce.t._ZN5sc_inIN5sc_dt6sc_intILi2EEEE18end_of_elaborationEv+0x88):
In function `sc_in<sc_dt::sc_int<(int)2> >::end_of_elaboration()':
: undefined reference to `sc_trace(sc_trace_file*, sc_dt::sc_int_base const&,
sc_string const&)'
main.o(.gnu.linkonce.t._ZN5sc_inIN5sc_dt6sc_intILi3EEEE18end_of_elaborationEv+0x88):
In function `sc_in<sc_dt::sc_int<(int)3> >::end_of_elaboration()':
: undefined reference to `sc_trace(sc_trace_file*, sc_dt::sc_int_base const&,
sc_string const&)'
main.o(.gnu.linkonce.t._ZN8sc_inoutIN5sc_dt6sc_intILi2EEEE18end_of_elaborationEv+0xc8):
In function `sc_inout<sc_dt::sc_int<(int)2> >::end_of_elaboration()':
: undefined reference to `sc_trace(sc_trace_file*, sc_dt::sc_int_base const&,
sc_string const&)'
main.o(.gnu.linkonce.t._ZN8sc_inoutIN5sc_dt6sc_intILi8EEEE18end_of_elaborationEv+0xc8):
In function `sc_inout<sc_dt::sc_int<(int)8> >::end_of_elaboration()':
: undefined reference to `sc_trace(sc_trace_file*, sc_dt::sc_int_base const&,
sc_string const&)'
main.o(.gnu.linkonce.t._ZN5sc_inIN5sc_dt6sc_intILi8EEEE18end_of_elaborationEv+0x88):
more undefined references to `sc_trace(sc_trace_file*, sc_dt::sc_int_base
const&, sc_string const&)' follow
main.o(.gnu.linkonce.t._ZN6MemoryD1Ev+0x44): In function `Memory::~Memory
[in-charge]()':
: undefined reference to `sc_inout<bool>::~sc_inout [not-in-charge]()'
main.o(.gnu.linkonce.t._ZN6MemoryD1Ev+0x70): In function `Memory::~Memory
[in-charge]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN6MemoryD1Ev+0x78): In function `Memory::~Memory
[in-charge]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN6MemoryD1Ev+0xa8): In function `Memory::~Memory
[in-charge]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN6MemoryD1Ev+0xb0): In function `Memory::~Memory
[in-charge]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN6MemoryD1Ev+0xe0): In function `Memory::~Memory
[in-charge]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN6MemoryD1Ev+0xe8): In function `Memory::~Memory
[in-charge]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN6MemoryD1Ev+0x118): In function `Memory::~Memory
[in-charge]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN6MemoryD1Ev+0x120): In function `Memory::~Memory
[in-charge]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN6MemoryD1Ev+0x1a5): In function `Memory::~Memory
[in-charge]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN6MemoryD1Ev+0x1ab): In function `Memory::~Memory
[in-charge]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN6MemoryD1Ev+0x1e5): In function `Memory::~Memory
[in-charge]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN6MemoryD1Ev+0x1eb): In function `Memory::~Memory
[in-charge]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN6MemoryD1Ev+0x225): In function `Memory::~Memory
[in-charge]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN6MemoryD1Ev+0x22b): In function `Memory::~Memory
[in-charge]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN6MemoryD1Ev+0x265): In function `Memory::~Memory
[in-charge]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN6MemoryD1Ev+0x26b): In function `Memory::~Memory
[in-charge]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN6MemoryD0Ev+0x44): In function `Memory::~Memory
[in-charge deleting]()':
: undefined reference to `sc_inout<bool>::~sc_inout [not-in-charge]()'
main.o(.gnu.linkonce.t._ZN6MemoryD0Ev+0x70): In function `Memory::~Memory
[in-charge deleting]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN6MemoryD0Ev+0x78): In function `Memory::~Memory
[in-charge deleting]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN6MemoryD0Ev+0xa8): In function `Memory::~Memory
[in-charge deleting]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN6MemoryD0Ev+0xb0): In function `Memory::~Memory
[in-charge deleting]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN6MemoryD0Ev+0xe0): In function `Memory::~Memory
[in-charge deleting]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN6MemoryD0Ev+0xe8): In function `Memory::~Memory
[in-charge deleting]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN6MemoryD0Ev+0x118): In function `Memory::~Memory
[in-charge deleting]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN6MemoryD0Ev+0x120): In function `Memory::~Memory
[in-charge deleting]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN6MemoryD0Ev+0x1ac): In function `Memory::~Memory
[in-charge deleting]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN6MemoryD0Ev+0x1b2): In function `Memory::~Memory
[in-charge deleting]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN6MemoryD0Ev+0x1ec): In function `Memory::~Memory
[in-charge deleting]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN6MemoryD0Ev+0x1f2): In function `Memory::~Memory
[in-charge deleting]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN6MemoryD0Ev+0x22c): In function `Memory::~Memory
[in-charge deleting]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN6MemoryD0Ev+0x232): In function `Memory::~Memory
[in-charge deleting]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN6MemoryD0Ev+0x26c): In function `Memory::~Memory
[in-charge deleting]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN6MemoryD0Ev+0x272): In function `Memory::~Memory
[in-charge deleting]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN11ApplicationD1Ev+0x52): In function
`Application::~Application [in-charge]()':
: undefined reference to `sc_inout<bool>::~sc_inout [not-in-charge]()'
main.o(.gnu.linkonce.t._ZN11ApplicationD1Ev+0x6a): In function
`Application::~Application [in-charge]()':
: undefined reference to `sc_inout<bool>::~sc_inout [not-in-charge]()'
main.o(.gnu.linkonce.t._ZN11ApplicationD1Ev+0x88): In function
`Application::~Application [in-charge]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN11ApplicationD1Ev+0x90): In function
`Application::~Application [in-charge]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN11ApplicationD1Ev+0xc0): In function
`Application::~Application [in-charge]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN11ApplicationD1Ev+0xc8): In function
`Application::~Application [in-charge]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN11ApplicationD1Ev+0xf8): In function
`Application::~Application [in-charge]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN11ApplicationD1Ev+0x100): In function
`Application::~Application [in-charge]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN11ApplicationD1Ev+0x167): In function
`Application::~Application [in-charge]()':
: undefined reference to `sc_inout<bool>::~sc_inout [not-in-charge]()'
main.o(.gnu.linkonce.t._ZN11ApplicationD1Ev+0x183): In function
`Application::~Application [in-charge]()':
: undefined reference to `sc_inout<bool>::~sc_inout [not-in-charge]()'
main.o(.gnu.linkonce.t._ZN11ApplicationD1Ev+0x1ab): In function
`Application::~Application [in-charge]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN11ApplicationD1Ev+0x1b1): In function
`Application::~Application [in-charge]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN11ApplicationD1Ev+0x1eb): In function
`Application::~Application [in-charge]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN11ApplicationD1Ev+0x1f1): In function
`Application::~Application [in-charge]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN11ApplicationD1Ev+0x22b): In function
`Application::~Application [in-charge]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN11ApplicationD1Ev+0x231): In function
`Application::~Application [in-charge]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN11ApplicationD0Ev+0x52): In function
`Application::~Application [in-charge deleting]()':
: undefined reference to `sc_inout<bool>::~sc_inout [not-in-charge]()'
main.o(.gnu.linkonce.t._ZN11ApplicationD0Ev+0x6a): In function
`Application::~Application [in-charge deleting]()':
: undefined reference to `sc_inout<bool>::~sc_inout [not-in-charge]()'
main.o(.gnu.linkonce.t._ZN11ApplicationD0Ev+0x88): In function
`Application::~Application [in-charge deleting]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN11ApplicationD0Ev+0x90): In function
`Application::~Application [in-charge deleting]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN11ApplicationD0Ev+0xc0): In function
`Application::~Application [in-charge deleting]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN11ApplicationD0Ev+0xc8): In function
`Application::~Application [in-charge deleting]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN11ApplicationD0Ev+0xf8): In function
`Application::~Application [in-charge deleting]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN11ApplicationD0Ev+0x100): In function
`Application::~Application [in-charge deleting]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN11ApplicationD0Ev+0x16e): In function
`Application::~Application [in-charge deleting]()':
: undefined reference to `sc_inout<bool>::~sc_inout [not-in-charge]()'
main.o(.gnu.linkonce.t._ZN11ApplicationD0Ev+0x18a): In function
`Application::~Application [in-charge deleting]()':
: undefined reference to `sc_inout<bool>::~sc_inout [not-in-charge]()'
main.o(.gnu.linkonce.t._ZN11ApplicationD0Ev+0x1b2): In function
`Application::~Application [in-charge deleting]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN11ApplicationD0Ev+0x1b8): In function
`Application::~Application [in-charge deleting]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN11ApplicationD0Ev+0x1f2): In function
`Application::~Application [in-charge deleting]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN11ApplicationD0Ev+0x1f8): In function
`Application::~Application [in-charge deleting]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
main.o(.gnu.linkonce.t._ZN11ApplicationD0Ev+0x232): In function
`Application::~Application [in-charge deleting]()':
: undefined reference to `vtable for sc_in<bool>'
main.o(.gnu.linkonce.t._ZN11ApplicationD0Ev+0x238): In function
`Application::~Application [in-charge deleting]()':
: undefined reference to `sc_in<bool>::remove_traces() const'
collect2: ld returned 1 exit status
error: Execution failed: g++ -o "memory.x" -ggdb -O3 -Wall -Wno-deprecated -I.
-I.. -I../../../include -L. -L.. -L../../../lib-linux -lsystemc -lm "memory.o"
"application.o" "slaveWrapper.o" "masterWrapper.o" "main.o" -x c++ 






More information about the aspectc-user mailing list