编译错误,请高手帮忙修改

proaicode 2005-12-11 01:45:31
Compiling...
CDROMControl.cpp
f:\vc\cdromcontrol\cdromcontroldlg.h(14) : error C2011: 'CCDROMControlDlg' : 'class' type redefinition
F:\vc\CDROMControl\CDROMControl.cpp(27) : error C2511: 'CCDROMControlDlg::CCDROMControlDlg' : overloaded member function 'void (class CWnd *)' not found in 'CCDROMControlDlg'
f:\vc\cdromcontrol\cdromcontrol.h(22) : see declaration of 'CCDROMControlDlg'
F:\vc\CDROMControl\CDROMControl.cpp(193) : fatal error C1004: unexpected end of file found
CDROMControlDlg.cpp
f:\vc\cdromcontrol\cdromcontroldlg.h(14) : error C2011: 'CCDROMControlDlg' : 'class' type redefinition
F:\vc\CDROMControl\CDROMControlDlg.cpp(64) : error C2511: 'CCDROMControlDlg::CCDROMControlDlg' : overloaded member function 'void (class CWnd *)' not found in 'CCDROMControlDlg'
f:\vc\cdromcontrol\cdromcontrol.h(22) : see declaration of 'CCDROMControlDlg'
F:\vc\CDROMControl\CDROMControlDlg.cpp(184) : fatal error C1004: unexpected end of file found
Generating Code...
Error executing cl.exe.

CDROMControl.exe - 6 error(s), 0 warning(s)
上面的错误是什么,怎么修改?
先谢了!
...全文
110 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
monstersky 2005-12-11
  • 打赏
  • 举报
回复
把项目clear,重新编译
proaicode 2005-12-11
  • 打赏
  • 举报
回复
在CDROMControl.h加入的代码为:
class CCDROMControlDlg : public CDialog
{
protected:
HICON m_hIconArray[4];
int m_nIconPos;
BOOL m_bIsFirstMinimized;
BOOL m_bIsMinimized;
afx_msg void OnOpenButton();
afx_msg void OnCloseButton();
afx_msg void OnMinimizeButton();
afx_msg void OnDestroy();
afx_msg void OnTimer(UINT nIDEvent);
afx_msg void OnWM_NOTIFYICON(WPARAM wParam,LPARAM lParam);
DECLARE_MESSAGE_MAP()
};
在CDROMControl.cpp中加入的代码为:
#define WM_NOTIFYICON WM_USER+1
#define IDC_NOTIFYICON WM_USER+2

BEGIN_MESSAGE_MAP(CCDROMControlDlg,CDialog)
ON_BN_CLICKED(IDC_OPEN_BUTTON,OnOpenButton)
ON_BN_CLICKED(IDC_CLOSE_BUTTON,OnCloseButton)
ON_BN_CLICKED(IDC_MINIMIZE_BUTTON,OnMinimizeButton)
ON_WM_DESTROY()
ON_WM_TIMER()
ON_MESSAGE(WM_NOTIFYICON,OnWM_NOTIFYICON)
END_MESSAGE_MAP()

CCDROMControlDlg::CCDROMControlDlg(CWnd* pParent)
:CDialog(CCDROMControlDlg::IDD,pParent)
{
m_nIconPos=0;
m_bIsFirstMinimized=FALSE;
m_bIsMinimized=FALSE;
m_hIcon=AfxGetApp()->LoadIcon(IDR_MAINFRAME);
m_hIconArray[0]=AfxGetApp()->LoadIcon(IDR_MAINFRAME);
m_hIconArray[1]=AfxGetApp()->LoadIcon(IDI_ICON1);
m_hIconArray[2]=AfxGetApp()->LoadIcon(IDI_ICON2);
m_hIconArray[3]=AfxGetApp()->LoadIcon(IDI_ICON3);
}

void CCDROMControlDlg::OnMinimizeButton()
{
if(m_bIsFirstMinimized==FALSE)
{
NOTIFYICONDATA nc;
nc.cbSize=sizeof(NOTIFYICONDATA);
nc.hIcon=AfxGetApp()->LoadIcon(IDR_MAINFRAME);
nc.hWnd=m_hWnd;
lstrcpy(nc.szTip,"光盘驱动控制器1.0");
nc.uCallbackMessage=WM_NOTIFYICON;
nc.uFlags=NIF_ICON | NIF_MESSAGE | NIF_TIP;
nc.uID=IDC_NOTIFYICON;
ShellNotifyIcon(NIM_ADD,&nc);
SetTimer(1,200,NULL);
m_bIsFirstMinimized=TRUE;
}
ShowWindow(SW_HIDE);
m_bIsMinimized=TRUE;
}

void CCDROMControlDlg::OnWM_NOTIFYICON(WPARAM wParam,LPARAM lParam)
{
UINT nID=(UINT)wParam;
UINT uMouseMsg=(UINT)lParam;
switch(uMouseMsg)
{
case WM_LBUTTONBLCLK:
if(m_bIsMinimized==TRUE)
{
ShowWindow(SW_SHOW);
m_bIsMinimized=!m_bIsMinimized;
}
break;
case WM_RBUTTONDOWN:
CMenu menu;
CPoint curpos;
GetCursorPos(&curpos);
if(menu.LoadMenu(IDR_MENU))
{
CMenu* pPopup;
pPopup=menu.GetSubMenu(0);
ASSERT(pPopup!=NULL);
SetForegroundWindow();
pPopup->TrackPopupMenu(TPM_LEFTALIGN|TMP_RIGHTBUTTON,curpos.x,curpos.y,AfxGetMainWnd());
}
}
}

void CCDROMControlDlg::OnTimer(UINT nIDEvent)
{
NOTIFYICONDATA nc;
nc.cbSize=sizeof(NOTIFYICONDATA);
if(m_nIconPos==3)
m_nIconPos=0;
nc.hIcon=m_hIconArray[m_nIconPos++];
nc.hWnd=m_Wnd;
lstrcpy(nc.szTip,"光盘控制器1.0");
nc.uCallBackMessage=WM_NOTIFYICON;
nc.uFlags=NIF_ICON | NIF_MESSAGE | NIF_TIP;
nc.uID=IDC_NOTIFYICON;
Shell_NotifyIcon(NIM_MODIFY,&nc);
CDialog::OnTimer(nIDEvent);
}

void CCDROMControlDlg::OnSysCommand(UINT nID,LPARAM lParam)
{
if((nID&0xFFF0)==IDM_ABOUTBOX)
{
CAboutDlg dlgAbout;
dlgAbout.DoModal();
}
else
{
if(nID==SC_MINIMIZE)
ttonMinimize();
else
CDialog::OnSysCommand(nID,lParam);
}
}

void CCDROMControlDlg::OnDestroy()
{
CDialog::OnDestroy;
NOTIFYICONDATA nc;
nc.cbSize=sizeof(NOTIFYICONDATA);
nc.hIcon=AfxGetApp()->LoadIcon(IDR_MAINFRAME);
nc.hWnd=m_hWnd;
nc.uCallbackMessage=WM_NOTIFYICON;
nc.uFlags=NIF_ICON | NIF_MESSAGE | NIF_TIP;
nc.uID=IDC_NOTIFYICON;
Shell_NotifyIcon(NIM_DELETE,&nc);
KillTimer(1);
}
请高手帮忙修改!先谢了!
proaicode 2005-12-11
  • 打赏
  • 举报
回复
duyhui(一天到晚游泳的鱼),先谢谢你的帮助!
我按照你方法,编译结果还有两个错误,如下:
Compiling...
Skipping... (no relevant changes detected)
StdAfx.cpp
Compiling...
CDROMControl.cpp
f:\vc\cdromcontrol\cdromcontrol.cpp(4) : fatal error C1083: Cannot open precompiled header file: 'Debug/CDROMControl.pch': No such file or directory
CDROMControlDlg.cpp
f:\vc\cdromcontrol\cdromcontroldlg.cpp(4) : fatal error C1083: Cannot open precompiled header file: 'Debug/CDROMControl.pch': No such file or directory
Generating Code...
Error executing cl.exe.

CDROMControl.exe - 2 error(s), 0 warning(s)
oyljerry 2005-12-11
  • 打赏
  • 举报
回复
重复定义了
#pragma once
菜牛 2005-12-11
  • 打赏
  • 举报
回复
重复定义了。
duyhui 2005-12-11
  • 打赏
  • 举报
回复
在cdromcontroldlg.h中
最开头加入 #ifnedf _CDROMCONTROL_H
#define _CDROMCONTROL_H

结尾加入 #endif
ma100 2005-12-11
  • 打赏
  • 举报
回复
代码贴出来

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧