Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемы с подключением MFC 
:(
    Опции темы
S.A.G.
Дата 15.11.2007, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


не эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1339
Регистрация: 20.7.2006
Где: in ad equate

Репутация: нет
Всего: 19



Есть два файла, один - хидер, другой - исходник. Оба включены в "Empty Application", тип проекта "Win32 Project" в студии 2005 8.0.50727.806. Они, поидее, представляют собой простейшее приложение на MFC.

1 файл:
Код
#include <afxwin.h>
//Класс основного окна приложения
class CMainWin: public CFrameWnd
{
    public:
    CMainWin();

    //Объявление карты сообщений
    DECLARE_MESSAGE_MAP();
}
//Класс приложения. Должен существовать только один экземпляр этого класса
//Член-функция InitInstance() вызывается при запуске приложения
class CApp: public CWinApp
{
    public:
    BOOL InitInstance();
};

2 файл:
Код
#include <afxwin.h>
#include <string.h>
#include "MainClasses.h"
//Создание одного и только одного экземпляра приложения
CApp App;
//Реализация
BOOL CApp::InitInstance()
{
    //Создание главного окна приложения и его отображение
    //Член CApp::m_pMainWnd - это указатель на объект главного окна
    m_pMainWnd = new CMainWin;
    m_pMainWnd->ShowWindow(SW_RESTORE);
    m_pMainWnd->UpdateWindow();
    //Сигнализируем MFC об успешной инициализации приложения
    return TRUE;
}
CMainWin::CMainWin()
{
    //Создание окна с заголовком
    //Используется встроенный в MFC класс окна, поэтому первый параметр 0
    this->Create(0, "Простейшее приложение на MFC");
}
//Реализация карты сообщений
BEGIN_MESSAGE_MAP(CMainWin /*класс окна*/, CFrameWnd /*Класс-предок*/)
END_MESSAGE_MAP();

"Юникод" отключен в настройках. После компиляции пишет что нужно либо подключить MFC как "shared DLL", либо убрать какую-то опцию в настройках. Захожу в свойства проекта -> ставлю шаред длл, пробую компилить. Тут оно выдает такую строчку - "WINVER not defined. Defaulting to 0x0502 (Windows Server 2003)" и далее следует куча ошибок (не распознало версию винды?).

Подскажите, плиз, как это побороть?


--------------------
Вот она задачка: спасти себя от себя самого © Cube
Sometimes good people do evil things © A Simple Plan
PM   Вверх
Dblma
Дата 15.11.2007, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 6.11.2007
Где: Moscow

Репутация: 1
Всего: 1



По-поводу "WINVER not defined. Defaulting to 0x0502 (Windows Server 2003)" - это нормально и уменя рабочие проекты так же пишут. Так что проблема не в этом. Присылай те ошибки, которые после этого варнинга приходят.
PM MAIL ICQ   Вверх
S.A.G.
Дата 15.11.2007, 20:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


не эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1339
Регистрация: 20.7.2006
Где: in ad equate

Репутация: нет
Всего: 19



Все, с главной проблемой разобрался. Меня сбила пропущенная точка с запятой, из-за нее среда нагенерила кучу ошибок, а я подумал что криво подключил библиотеку.

Но вот эта строчка не исчезла - "WINVER not defined. Defaulting to 0x0502 (Windows Server 2003)". Может забить на нее? Какие могут быть негативные последствия?


--------------------
Вот она задачка: спасти себя от себя самого © Cube
Sometimes good people do evil things © A Simple Plan
PM   Вверх
zkv
Дата 16.11.2007, 01:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: 16
Всего: 92



Цитата(S.A.G. @  15.11.2007,  20:31 Найти цитируемый пост)
Но вот эта строчка не исчезла - "WINVER not defined. Defaulting to 0x0502 (Windows Server 2003)". Может забить на нее? Какие могут быть негативные последствия? 

наведи курсором на WINVER и жми F1 там тебе расскажут, что будет значить этот макрос, при разных значениях.
Грубо говоря он характеризует под какой версией винды будет работать твое приложение, таким образом от него будет зависеть, какие возможности ты сможешь использовать. 
PM MAIL   Вверх
Rapalex
Дата 16.11.2007, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 732
Регистрация: 20.1.2006
Где: Украина -> Ник олаев

Репутация: 6
Всего: 8



Пример:
Код

// Modify the following defines if you have to target a platform prior to the ones specified below.
// Refer to MSDN for the latest info on corresponding values for different platforms.
#ifndef WINVER                // Allow use of features specific to Windows XP or later.
#define WINVER 0x0501        // Change this to the appropriate value to target other versions of Windows.
#endif

#ifndef _WIN32_WINNT        // Allow use of features specific to Windows XP or later.                   
#define _WIN32_WINNT 0x0501    // Change this to the appropriate value to target other versions of Windows.
#endif                        

#ifndef _WIN32_WINDOWS        // Allow use of features specific to Windows 98 or later.
#define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later.
#endif

#ifndef _WIN32_IE            // Allow use of features specific to IE 6.0 or later.
#define _WIN32_IE 0x0600    // Change this to the appropriate value to target other versions of IE.
#endif


Добавлено через 2 минуты и 50 секунд
Это в stdafx.h запихнуть надо (в начало).


--------------------
In vitium ducit culpae fuga.
Желание избежать ошибки вовлекает в другую.
(Horatius)
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0611 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.