• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1028
  • Last Modified:

How do I define which namespace compiler should use in MFC?

My MFC project includes several modules and now I introduced another with access to WebServices. Since then I get the compiler error:
error C2872: 'CMutex' : ambiguous symbol
        could be 'c:\program files\microsoft visual studio 8\vc\atlmfc\include\afxmt.h(105) : CMutex'
        or 'c:\program files\microsoft visual studio 8\vc\atlmfc\include\atlsync.h(77) : ATL::CMutex'
Obviously both files have CMutex class defined and it is not the same. If ATL versiun would be the one this module needs, I could probably define the namespace with ATL::CMutex. But how can I tell the compiler that it should take the first version? It has no namespace specified!?
1 Solution
Jaime OlivaresSoftware ArchitectCommented:
MFC classes don't belong to a namespace.
Do you have to use both ATL and MFC in the same application?
You could use

::CMutex myMutex;
igamsAuthor Commented:
Simple solutions are always the best! I should have thought of it myself! :-)
But then I got confused with namespaces...
Thanks a lot!
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now