title: again "undefined symbol" in runtime, c++
body: <p>I have a data type and I can instantiate a variable of that type. like this:</p>
  
  <pre><code>FetchAddr faddr(VirtualMemoryAddress( 0x0a ));
  </code></pre>
  
  <p>The definition of FetchAdr is:</p>
  
  <pre><code>struct FetchAddr {
     VirtualMemoryAddress theAddress;
     FetchAddr(VirtualMemoryAddress anAddress)
       : theAddress(anAddress)
     { } 
  };
  </code></pre>
  
  <p>Now I have a class that faddr is a private (or public) variable</p>
  
  <pre><code>class FLEXUS_COMPONENT(BPred)  {
     static FetchAddr faddr;
     public:
       FLEXUS_COMPONENT_CONSTRUCTOR(BPred)
          : base( FLEXUS_PASS_CONSTRUCTOR_ARGS )
       {
          faddr = VirtualMemoryAddress( 0x0a );
       }
     ...
  }
  </code></pre>
  
  <p>Assume the macros are defined properly.</p>
  
  <p>The code compiles and links without any problem. However when I start the program, it says:</p>
  
  <pre><code> "undefined symbol: _ZN6nBPred14BPredComponent8faddr"
  </code></pre>
  
  <p>it says there no symbol for faddr.</p>
  
  <p>any idea about that?</p>