【问题标题】:Removing Ribbon Button but still get linker errors删除功能区按钮但仍然出现链接器错误
【发布时间】:2013-03-11 19:19:00
【问题描述】:

我尝试删除一个按钮(我错误地使用错误的父类创建了一个 on 事件处理程序),但即使我从功能区中删除了按钮,我仍然收到有关已删除处理程序的链接器错误。这是在带有 MFC C++ 项目的 Visual Studio 2010 Pro 上。

编辑: 例如,我有一个 id 为 BtnTargetPS3 和 2 个功能的按钮

void CAboutDlg::OnTargetPS3()
{
    // TODO: Add your command handler code here
}


void CTheApp::OnBtntargetps3()
{
    // TODO: Add your command handler code here
}

我想删除第一个,但是当我这样做时,我得到了链接器错误,因为它仍然需要它?? 当我删除该按钮时,当我删除这两个函数时仍然会出现链接器错误。

【问题讨论】:

  • 这么少的细节很难回答你的问题。
  • 刚刚添加了更多信息,感谢您的宝贵时间
  • 链接器显示什么错误信息?这会很有帮助。

标签: c++ visual-studio-2010 mfc ribbon


【解决方案1】:

通过向导为事件添加消息处理程序会导致源代码发生 3 处更改。

1 - 在 .cpp 文件内的 BEGIN_MESSAGE_MAP/END_MESSAGE_MAP 块内添加消息路由宏。

2 - 处理函数的代码实现,作为类的成员函数,在.cpp 文件中。

3 - .h 文件内的 {{AFX_MSG(ClassName)/}}AFX_MSG 块中处理函数的原型声明。

您的问题很可能是由于删除了第 1 项和第 2 项而忘记了第 3 项。

【讨论】:

    【解决方案2】:

    您删除了按钮,但我认为与按钮相关的功能仍然存在。
    所以搜索它并删除不必要的东西。

    【讨论】:

    • 不,我确实删除了该功能,这就是我收到链接器错误的原因。
    猜你喜欢
    • 2014-08-05
    • 2012-10-20
    • 2015-06-30
    • 1970-01-01
    • 1970-01-01
    • 2019-04-21
    • 2020-05-28
    • 1970-01-01
    • 2023-04-05
    相关资源
    最近更新 更多