关于类的重命名有关问题
关于类的重命名问题
1>stdafx.obj : error LNK2005: "struct _TREEITEM * Process::m_hRoot" (?m_hRoot@Process@@3PAU_TREEITEM@@A) 已经在 MyProcess.obj 中定义
1>C:\VC\VS9\iMsnDlg\Debug\iMsnDlg.dll : fatal error LNK1169: 找到一个或多个多重定义的符号
编译过程中出现以上错误
------解决思路----------------------
MyProcess.h
中写成
extern HTREEITEM m_hRoot;
MyProcess.cpp加入
HTREEITEM Process::m_hRoot = NULL;
//MyProcess.h
#pragma once
namespace Process
{
HTREEITEM m_hRoot;
void addRoot(char* szBuffer, CTreeCtrl& mtree);
class CMyProcess
{
public:
CMyProcess(void);
~CMyProcess(void);
};
}
//MyProcess.cpp
void Process::addRoot(char* str, CTreeCtrl& mtree)
{
CString s(str);
mtree.DeleteAllItems();
m_hRoot = mtree.InsertItem(GetValue(s,L"deptName"));
}
在StdAfx.h中
#include "MyProcess.h"
using namespace Process;
1>stdafx.obj : error LNK2005: "struct _TREEITEM * Process::m_hRoot" (?m_hRoot@Process@@3PAU_TREEITEM@@A) 已经在 MyProcess.obj 中定义
1>C:\VC\VS9\iMsnDlg\Debug\iMsnDlg.dll : fatal error LNK1169: 找到一个或多个多重定义的符号
编译过程中出现以上错误
------解决思路----------------------
MyProcess.h
中写成
extern HTREEITEM m_hRoot;
MyProcess.cpp加入
HTREEITEM Process::m_hRoot = NULL;