And*_*rey 7 c++ linker-errors lnk2005
我正在尝试编译在MS VS 2010中使用Visual C++ 2005和MFC编写的C++程序.遗憾的是,我在编译期间遇到以下错误:
Error 2 error LNK2005: "public: virtual __thiscall CMemDC::~CMemDC(void)" (??1CMemDC@@UAE@XZ) already defined in CMemDCImpl.obj Project\Project\Project\uafxcwd.lib(afxglobals.obj) Project.
Run Code Online (Sandbox Code Playgroud)
CMemDCImpl有一个头文件,其中包含类CMemDCImpl的所有成员的定义,以及包含其实现的*.cpp文件.请帮我修复此错误.
您提到CMemDCImpl是在cpp文件中定义的.但是,它似乎也在uafxcwd.lib(您显然使用的库)中定义.我可以想到这个错误的两种可能性:
.
namespace Foo
{
class CMemDC
{
// ...
};
}
// Usage:
Foo::CMemDC myMemDC;
Run Code Online (Sandbox Code Playgroud)