WTL Error: RegisterClassObjects(DWORD,DWORD) throw()' already has a body
<p>I am having a compiling error I just don't understand.  I have two C++ projects that use the WLT 8.0.  I am using VS2005 to compile both.  One runs on Win XP or 7, and the other on CE.  They both include the WLT 8.0 headers.</p>

<p>But when compiling for the CE project I get the following error:</p>

<pre><code>Error 104 error C2084: function 'HRESULT ATL::CComModule::RegisterClassObjects(DWORD,DWORD) throw()' already has a body C:\WTL80\include\atlapp.h 150 
</code></pre>

<p>The source for this error is here:</p>

<pre><code>namespace ATL
{
  inline HRESULT CComModule::RegisterClassObjects(DWORD /*dwClsContext*/, DWORD /*dwFlags*/) throw()
  { return E_NOTIMPL; }
  inline HRESULT CComModule::RevokeClassObjects() throw()
  { return E_NOTIMPL; }
}; // namespace ATL
</code></pre>

<p>Only thing I can see that is different between the two projects are these marcos in the CE project: <code>(_WIN32_WCE=$(CEVER);ARM;_ARM_;$(CePlatform);ARMV4I;UNDER_CE=$(CEVER);)</code>, and I can not set the default calling convention of <code>__cdecl</code> in the CE project.</p>

<p>Anyone have a clue would love the education.</p>

<p>Thank in advance.</p>
