Я использую MFC для написания окна программы я использовал эти параметры при создании проекта
File -> New Project -> MFC applicatioin
. и в мастере приложений MFC я выбрал: тип
Применение: Диалог на основе
языка ресурсов: английский (United States) библиотеки
Использование Unicode
Проект стиль: стандарт MFC
Использование MFC: Использование MFC в статической библиотеке
Основные стили рамок: Толстые рамки, системное меню и О коробка тикали
Дополнительные функции: элементы управления ActiveX, Общий контроль Manifest и поддержка Restart Manager галочки
Диалог название: P2
Создаваемые классы: Cp2App и Cp2Dlg
Я еще не добавил никаких кодов проекта. И я только что добавление элементов управления в форме:ошибки LNK2001: неразрешенный внешний символ «общественность: недействительный __thiscall
, но когда я пытаюсь запустить проект, я получаю ошибки:
1-ошибку LNK2001: неразрешенный внешний символ «общественность: недействительный __thiscall CP2Dlg :: OnBnClickedButton2 (аннулируются)»(OnBnClickedButton2 @ CP2Dlg @@ QAEXXZ?)
2-ошибка LNK1120: 1 неразрешенных внешних
Я знаю, что я могу начать новый проект, чтобы избежать ошибки. Но я хочу знать, что вызывает эту проблему и ее решить?
Примечание: первая ошибка возникает в P2Dlg.obj, а вторая - в файле P2.exe.
Отредактированный раздел: На самом деле я считаю, что эта ошибка связана с тем, что я небрежно дважды щелкнул Button2 и создал обработчик событий BnClickedButton2 и удалил его. Теперь я пытаюсь снова создать этот обработчик событий, но я не могу, потому что, когда я нажимаю кнопку «button2» и выбираю add eventhandler в мастере обработчика событий, опция BN_CLICKED
неактивна.
Я хочу знать, как вообще исправить такие проблемы. Пожалуйста, помогите мне?
Отредактировано раздел 2: Я добавил эту функцию в файле P2.cpp с помощью Add EventHandler
, но это не решило проблему:
void CP2App::OnBnClickedButton2()
{
// TODO: Add your control notification handler code here
}
функция CP2Dlg::OnBnClickedButton2
должна быть добавлена, но я не могу добавьте его. Это неактивно ?????
Возможный дубликат [Что такое неопределенная ссылка/неразрешенная ошибка внешнего символа и как ее исправить ?: Объявлено, но не определено переменная или функция.] (Http://stackoverflow.com/questions/12573816/what -is-an-undefined-reference-unresolved-external-symbol-error-and-how-do-i-fix) –
Вы никогда не должны пытаться использовать MFC, не зная Win32-Programming уже. Чарльз Петцольд, вероятно, по-прежнему остается лучшим ресурсом для изучения последнего. Если/Когда вы решили начать работу с MFC, вы должны, по крайней мере, в состоянии * прочитать * созданный мастером код. Jeff Prosise - обязательное чтение для любого разработчика MFC. – IInspectable