![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 01.09.2008
Сообщений: 178
|
![]()
Проблема в следующем.
Есть проект, где используются винапишные функции и следовательно подключена windows.h. Встала необходимость использовать в нем класс CFile (MFC), при попытке подключить afx.h и объявить объект класса CFile компилятор ругается матом. Код:
Код:
Быть радикальным - значит понять вещь в её корне. К.Маркс
|
![]() |
![]() |
![]() |
#2 | |
C++ hater
Старожил
Регистрация: 19.07.2009
Сообщений: 3,333
|
![]()
2nazavrik
читать умеешь? Цитата:
аа, если ты в прогу на винапи хочешь добавить поддержку мфц, то боюсь просто так не получится. так или иначе, все сведется к mfc-шному проекту. ппс. чем тебе так необходим CFile, чего нельзя сделать через плюсовые поточные файлы, или сишные дескрипторы файлов?
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance Последний раз редактировалось pproger; 06.02.2010 в 00:14. |
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 01.09.2008
Сообщений: 178
|
![]()
У меня есть винапишный проект. Задание такое - желательно организовать работу с файлами через CFile.
Суть в следующем. Если вместо всего перечисленного использовать #include <afxwin.h>, то все хорошо компилится пока не объявлять какой-нить MFCшный класс. Если я объявляю объект: Код:
Код:
Быть радикальным - значит понять вещь в её корне. К.Маркс
|
![]() |
![]() |
![]() |
#4 |
C++ hater
Старожил
Регистрация: 19.07.2009
Сообщений: 3,333
|
![]()
ну попробуй везде, где включается windows.h включить afxwin.h, чтобы напрямую включений windows.h не было
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 01.09.2008
Сообщений: 178
|
![]()
Я так и сделал
![]()
Быть радикальным - значит понять вещь в её корне. К.Маркс
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
![]()
Джентльмены, вообще-то, должен заметить, что попытка приплести ОО-библиотеку к программе, написанной в процедурном стиле, это как-то... не слишком элегантно
![]() Но если уж слишком припекло... Какая версия Visual Studio? 6-я? |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 01.09.2008
Сообщений: 178
|
![]()
Мадемуазель, хочу заметить, что программа ни разу не написана в процедурном стиле.
VS2008
Быть радикальным - значит понять вещь в её корне. К.Маркс
|
![]() |
![]() |
![]() |
#8 | ||
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
![]() ![]() ![]() Цитата:
Цитата:
1. Убираем для начала все упоминания о precompiled header. 1.1. Убираем из проекта файлы StdAfx.cpp и StdAfx.h. 1.2. Везде, где оно встречается, #include "stdafx.h" меняем на #include <windows.h>. 1.3. Убираем пока (комментим хотя бы) любые попытки привнести что-то из MFC. 1.4. Говорим, что проект не будет использовать precompiled-headers (Project | Settings... | C/C++ | Category: Precompiled Headers | + Not using precompiled headers | <OK> ) Что-то в этом духе. 1.5. Rebuild All. Построился exe-шник? Added 16:06 CET 2. Первый маленький шажок к MFC. 2.1. Меняем везде #include <windows.h> на #include <afxwin.h>. 2.2. Из MFC пока по-прежнему ничего не включаем. 2.3. Rebuild All. Должен построиться exe-шник. 3. Второй маленький шажок к MFC. 3.1. Возвращаем (вставляем) CFile. 3.2. Rebuild All. Идеальный вариант - трансляция прошла; unresolved external symbols на редактировании. 4. Третий маленький шажок к MFC. 4.1. Разрешаем использование MFC (Project | Settings... | General | Microsoft Foundation Classes: Use MFC in a Shared DLL | <OK>) В 2008 уже по-другому, но принцип - этот. 4.2. Rebuild All Идеальный вариант - созданный exe-шник А что на самом деле получилось? Последний раз редактировалось Vago; 06.02.2010 в 18:06. |
||
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 06.02.2007
Сообщений: 42
|
![]()
у меня тоже есть впрос по MFC
ситуация похожая - есть небольшая програмка на winAPI с двумя окошками и парой кнопок хочу добавить диалог - для простоты так CDialog dlg( IDD_PROP_DLG ); dlg.DoModal(); - тут вылезает ошибка при этом если создавать новый проект, то там работает ничего кроме подключения afxwin.h и "Use MFC in a Shared DLL" делать не надо? |
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
![]()
Щас придёт первооткрыватель ветки и скажет нам всё, что он думает по поводу обсуждения здесь НЕ ЕГО проблем...
![]() П.п. 1.1 и 1.4 выполнялись? Я добавил эти две MFC-строчки к простенькому скелету Win32 API (положив, естественно, отфонарный IDD_PROP_DLG ). Трансляция и компоновка прошли. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
INDY 10 (idCmdTCPServer & idCmdTCPClient) & Delphi 2009 | S_Yevgeniy | Работа с сетью в Delphi | 24 | 27.02.2012 08:56 |
TForm & TImage & PNG & Прозрачность | delphi_beginner | Общие вопросы Delphi | 7 | 19.09.2009 08:46 |
Просто не понимаю б чём проблема!!!!!!!(char* && index) | artush1984 | Общие вопросы C/C++ | 12 | 30.05.2009 03:30 |
dsound.h & MFC | Varbar | Общие вопросы C/C++ | 0 | 06.03.2009 22:00 |