Попытка добавить значение по умолчанию в поле редактирования. C ++

0

Я использую c++ (VS 2012), чтобы сделать простой пользовательский интерфейс в первый раз. Я получил свое приложение для запуска, но проблема, с которой я столкнулась, заключается в добавлении значения по умолчанию в мои поля редактирования. Очевидно, единственный способ сделать это - добавить класс в главное окно. Код был прост, но я понимаю, что

Неустранимая ошибка C1189: #error: для создания MFC-приложения с /MD [d] (версия DLL для CRT) требуется версия с расширением dll MFC. Пожалуйста, #define _AFXDLL или не используйте /MD [d]

ошибка. Если я добавлю #define _AFXDLL, я получу эти ошибки.

error C2084: function 'CRuntimeClass *CMyDialog::_GetBaseClass(void)' already has a body
error C2374: 'classCMyDialog' : redefinition; multiple initialization
error C2084: function 'CRuntimeClass *CMyDialog::GetThisClass(void)' already has a body
error C2084: function 'CRuntimeClass *CMyDialog::GetRuntimeClass(void) const' already has a body
error C2084: function 'CMyDialog::CMyDialog(CWnd *)' already has a body
error C2084: function 'CMyDialog::~CMyDialog(void)' already has a body
error C2084: function 'void CMyDialog::DoDataExchange(CDataExchange *)' already has a body
error C2084: function 'const AFX_MSGMAP *CMyDialog::GetMessageMap(void) const' already has a body
error C2084: function 'const AFX_MSGMAP *CMyDialog::GetThisMessageMap(void)' already has a body

Поэтому я немного смущен тем, что я должен здесь сделать. У меня нет большого опыта программирования на пользовательском интерфейсе, поэтому, возможно, это просто проблема обучения.

  • 0
    Опубликовать код Случайное предположение - все эти функции определены в файле .h
  • 0
    Я не понимаю, я не создал код, который сделал IDE. В результате щелчка правой кнопкой мыши на главном диалоговом окне в среде IDE и нажатия кнопки добавления класса все это происходит. Он создает новый файл H и CPP. Я назвал их myDialog и его базовый класс CDialog. Он добавляет include (#include "afxdialogex.h") и из-за этого генерируются вышеуказанные ошибки.
Теги:
mfc
edit
box

2 ответа

0

Возможно, вы разместили _AFXDLL в неправильном месте. Удалите его, а затем используйте меню "Проект", "Свойства", "Использовать MFC для использования MFC в общей DLL".

  • 0
    Я прочитал это и по поиску. Когда я переключаюсь с двоичных файлов Windows на DLL, я получаю тот же набор ошибок. Я попробовал, прежде чем пытаться определить.
  • 0
    Хорошо, глядя ближе к ошибке, я вижу что-то, что не соответствует мне, но может иметь смысл для кого-то с опытом. Вот полная строка ошибки. >> 1> c: \ users \ administrator \ desktop \ ff \ joystick \ mydialog.cpp (47): ошибка C2084: функция 'CRuntimeClass * CMyDialog :: _ GetBaseClass (void)' уже имеет тело 1> c: \ users \ администратор \ рабочий стол \ ff \ джойстик \ mydialog.h (8): см. предыдущее определение _GetBaseClass << почему такой конфликт между H и cpp? Все они указывают на эту строку >> IMPLEMENT_DYNAMIC (CMyDialog, CDialog) <<
0

Ничего себе, я просто нашел проблему, кажется, что IDE объединила файлы cpp с другим дублирующимся файлом cpp. Каждая функция была здесь дважды, жаль тратить время.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню