![]() |
|
|
![]()
|
|
| FApe |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 27.6.2007 Репутация: нет Всего: нет |
Здравствуйте помогите советом кто может ... второй день не дает покоя проблема
проблема такая : есть проект созданный в MSVS.net 2005 в свойствах проекта стоит Not Using Precompiled Headers иначе компилятор будут сильно ругаться - это увы данность ... мне нужно создать подключаемую по #include библиотеку где некоторые классы (мои классы) будут содержать в себе классы MFC (например CButton) как только прописываю в файле заголовка #include <afxwin.h> где содержится описание типов данных компилятор начинает ругаться говорить что WINDOWS.H already included. MFC apps must not #include <windows.h> как научить понимать компилятор что я буду использовать классы MFC ? какой файл и где подключать ? |
|||
|
||||
| FApe |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 27.6.2007 Репутация: нет Всего: нет |
Граждане: гугу, спецы, и просто толковые люди ... подскажите может есть какие мысли по поводу моей проблемы ?
если объяснил коряво отвечу на все уточняющие вопросы SOS |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Прекомпилированные заголовки сюда отношения не имеют. Это можно и поменять, если надо.
Что касается заголовочных файлов, то MFC-зависимые модули должны подключать <afxwin.h> вместо <windows.h>. Совсем не поняла: что это за библиотека такая? include работает на уровне препроцессора, сливая файлы перед компиляцией. А библиотеку делает линкер. -------------------- ... |
|||
|
||||
| Cheloveck |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1578 Регистрация: 26.7.2008 Где: Тула Репутация: нет Всего: 32 |
Это не данность, а... В свойствах проекта выставляешь stdafx.pch, а в свойствах stdafx.cpp - create precompiling header и всё работает после компиляции stdafx.cpp. stdafx.h ф студию. -------------------- ![]() |
|||
|
||||
| FApe |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 27.6.2007 Репутация: нет Всего: нет |
Это видимо я не корректно написал под "библиотекой" я конешно же имел ввиду "модуль" объясню на примере создаю два файла -> test.hpp и test.cpp добавляю их в проект ... так ? в файле test.hpp заголовок класса в test.cpp его реализация ... так ? все как всегда допустим в файле test.hpp следующий текст
компилятор будет ругаться так как об типе CButton ничего не знает пока я не подключу к файлу <afxwin.h> что совершенно справедливо ... так ? добавляю в файл test.hpp строчку #include <afxwin.hpp> где этот класс описан ... так ? получаю ошибку -"windows.h уже подключен" это все происходит если в свойствах проекта стоит "Not Using Precompiled Headers" могу победить эту ошибку если ставлю в свойствах проекта "Using Precompiled Headers" и добавляя к файлу test.hpp строчку #include "stdafx.h" ... но трагедия заключается в том что проект создан (до меня еще) ТАК что скомпилировать его в режиме "Using Precompiled Headers" я НЕ МОГУ так как подключенные к проекту ранее файлы этого позволить себе не могут (вот что я имел ввиду под фразой "это увы данность") что мне делать ? как подключить к проекту MFC-зависимый файл в режиме "Not Using Precompiled Headers" ? вот в чем вопрос !!! |
||||
|
|||||
| Cheloveck |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1578 Регистрация: 26.7.2008 Где: Тула Репутация: нет Всего: 32 |
во все хедеры в первой строке. -------------------- ![]() |
|||
|
||||
| FApe |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 27.6.2007 Репутация: нет Всего: нет |
попробую в понедельник, проект на работе )
|
|||
|
||||
| FApe |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 27.6.2007 Репутация: нет Всего: нет |
проблема разрешилась ) оказывается в недрах проекта уже была строчка #include <windows.h> ...
Спасибо всем кто откликнулся !!! как затуплю снова к вам приду за советом ;) Это сообщение отредактировал(а) FApe - 6.7.2009, 10:07 |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |