Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Потерялась точка входа при переходе от VC++6.0 к VC++2003

8.2K
28 июня 2006 года
TheMaster
32 / / 23.12.2005
Как начинающий программер, полез на сайт firststeps.ru. Решил, значица, под MFC программить научился. Взял там код, примерно похожий на этот:

// ------------------------- Заголовочный файл: -----------------------
#define WINVER 0x0501
#include "afxwin.h"

class MainWnd : public CFrameWnd // Класс окошка
{
public:
MainWnd(); // Конструктор по умолчанию
};

class App : public CWinApp // Класс приложения
{
public:
App(); //конструктор по умолчанию
virtual BOOL InitInstance();//стандартная инициализация
};

// ----------------------- Файл реализации: ------------------------
MainWnd::MainWnd()
{
Create(NULL,"Программа",WS_OVERLAPPEDWINDOW,rectDefault, NULL,NULL); // Создать окно программы
}

App::App() // конструктор главного класса приложения
{}

BOOL App::InitInstance() // стандартная инициализация
{
m_pMainWnd=new MainWnd(); // создать класс окна
ASSERT(m_pMainWnd); // проверить его правильность
m_pMainWnd->ShowWindow(SW_SHOW);// Показать окно
m_pMainWnd->UpdateWindow();// Обновить окно
return TRUE; // Вернуть что все нормально
};

App theApp; // запуск приложения

И, по-моему, когда-то давно (и не совсем правда) этот код успешно компилился в среде VC++6.0. Пришлось сделать поправку в первой строчке текста на новую версию среды разработки - и файлик компилится без проблем. А вот строиться (to build) - не желает: нету у тебя, говорит, точки входа!
fatal error LNK1561: entry point must be defined.
Как эту программу (VC++2003) уговорить обратить внимание на последнюю строчку с комментарием "запуск приложения"? Ведь точка входа должна быть там, насколько я правильно понял содержимое сайта firststeps.ru?
И ещё: я пробовал методу "Сваяй проект Мастером приложений и найди десять отличий". Проекты этот мастер ваяет весьма объёмистые, но вроде всё как у меня: объявления классов, реализация классов, и единственная строчка объявления переменной - экземпляра приложения. В параметрах проекта, во вкладке линкера, там, где advanced, и написано Entry point (Сам в хелпе нашёл!!), ни у меня, ни у волшебника приложений ничего не написано. Тем не менее, Волшебник эту точку каким-то образом находит. Кто-нибудь подскажет, каким?
350
28 июня 2006 года
cheburator
589 / / 01.06.2006
Где-то в свойствах проекта должно указываться одно из двух: "Use MFC in shared DLL" или "Use MFC in static library" (что-то типа того). Возможно, у тебя стоит "Not uning MFC". Скорее всего, после того, как исправишь, к проекту автоматически присоедниятся нужные MFC-библиотеки, одна из которых и содержит точку входа.
Если не помогает - сделай так. Создай новый проект с нуля; при создании укажи using mfc (неважно DLL или статическая библиотека); присоедини к проекту написанные тобой .cpp и .h-файлы. После этого стопудов будет работать.
8.2K
18 июля 2006 года
TheMaster
32 / / 23.12.2005
Ессно, что я первым делом эти самые библиотеки MFC и подключаю. Соответственно, если это забыть сделать, то и ругаться он будет совсем по-другому. Короче, проверил я это дело, подключен у меня MFC as a shared DLL с самого начала.
Но - в любом случае: неужели точка входа действительно в одной из MFC'шных библиотек? Я думал, её в программе указывать надо, и это делается объявлением единственного экземпляра приложения...
3
18 июля 2006 года
Green
4.8K / / 20.01.2000
Тема не имеет отношения к .NET
8.2K
19 июля 2006 года
TheMaster
32 / / 23.12.2005
И в каком разделе её следовало бы написать? Проблема - то в том, что под VC++ 6.0 всё работает просто по-издевательски замечательно!
3
19 июля 2006 года
Green
4.8K / / 20.01.2000
Для твоего вопроса существует раздел форума "Microsoft Visual C++", т.к. Microsoft Visual C++ не имеет отношения к Microsoft .NET Framework.

Если ты хочешь получить ответ на свой вопрос желательно ещё прикрепить свой проект полностью, а не выдержку из одного файла. Телепаты в отпуске.
8.2K
20 июля 2006 года
TheMaster
32 / / 23.12.2005
Запакован rar'ом с максимальной степенью сжатия
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог