| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > проблема с хедером |
| Автор: knut 10.9.2007, 14:51 | ||
| Добрый день. вот вклучаю хедер и получаю ошибку #include "afxdisp.h"
p.s в проекте не где не включенны ни какие "windows.h" |
| Автор: zkv 10.9.2007, 15:16 |
а косвенно? те подключил файл, в котором подключен windows.h |
| Автор: yar 10.9.2007, 15:25 |
| Попробуйте поставить этот include либо перед всеми остальными, либо после. |
| Автор: knut 10.9.2007, 15:46 | ||
| yar, поставил я инклуд в самое начало stdafx.h фаила и получил ошибки
а если в конец то та же ошибка что в начале zkv, вот те все файлы каторые у меня в прекомпил хедере #include <atlbase.h> #include <atlcom.h> и где я косвенно подклучаю windows.h? |
| Автор: zkv 10.9.2007, 16:08 | ||||||
тута: поясняю: atlbase.h содержит:
atlcore.h содержит:
делай так:
|
| Автор: knut 10.9.2007, 16:43 | ||
| zkv, зделал как ты сказал но на выходе опять error ы
|
| Автор: zkv 10.9.2007, 16:58 | ||
проверил, у меня даже так работает (VC++8.0):
так что не могу помочь больше, попробуй локализовать на тестовом проекте, может с precompiled headers ошибка связана? |
| Автор: knut 11.9.2007, 10:57 | ||
| zkv, что с моим компилером версия(VC++8.0) вот создаю простое преложение (МФЦ) собираю а компилятор жалуется
в чем дело? |
| Автор: Nastya 11.9.2007, 11:15 |
| В свойствах проекта стоит что ты используешь MFC ? |
| Автор: zkv 11.9.2007, 11:23 |
трудно сказать. Я не могу воссоздать ошибку - у меня все работает. А как я могу ответить на не заданный вопрос? Возможно дефайн где-то затесался ненужный типа WIN32(или наподобие) В настройках проекта в precompiled header что стоит? Добавлено через 1 минуту и 44 секунды на этапе компиляции это не важно |
| Автор: knut 11.9.2007, 11:32 | ||
| Nastya, да(configuration property->General->Prop.Def.->use of MFC -Use MFC in a Shared DLL) zkv,
c/c++ ->precompiled header ->precompiled header file -$(IntDir)\$(TargetName).pch c/c++ ->precompiled header ->create/use precompiled header - Use Precompiled Header (/Yu) |
| Автор: zkv 11.9.2007, 15:05 |
| knut, проблема не в precompiled header. нужно больше инфы. Создай проект, в нем создай теже файлы, подключи теже хидеры, что в твоем проекте (вообщем нужно воссоздать ошибку), если ошибка останется - выкладывай. |
| Автор: knut 11.9.2007, 15:49 | ||
| zkv, я созал простой (пустой)мфц проект подключаю #include <afxdisp.h> и те же ошибки Добавлено через 2 минуты и 54 секунды все ошибки на эту функц.
|
| Автор: yar 11.9.2007, 16:04 |
| А что говорит компилятор, если ему поставить директиву /showIncludes ?. Похожая проблема http://www.thescripts.com/forum/thread263082.html. zmouse.h должен инклюдится после windows.h. |
| Автор: zkv 11.9.2007, 23:46 |
угу |
| Автор: knut 12.9.2007, 14:05 | ||
народ уже 2 ой день мучаюсь теперь такая ошибка.
вот прекрепил фаил |
| Автор: yar 12.9.2007, 14:14 |
| Свойства проекта -> Configuration Proporties -> General -> Use of MFC Поставь Use MFC in a Shared DLL. |
| Автор: zkv 12.9.2007, 14:25 |
| если хочешь статические, то С/С++->Code generation->Runtime library поставь в Multi-threaded (дебаг или нет - в зависимоти от сборки) |
| Автор: knut 12.9.2007, 14:28 | ||||
| yar, так тоже химичил но вот результат
Добавлено через 5 минут и 45 секунд zkv
|
| Автор: zkv 12.9.2007, 14:39 |
| Multi-threaded Debug (/MTd) |
| Автор: knut 12.9.2007, 14:47 | ||
| zkv, Multi-threaded Debug (/MTd) и получаем
|
| Автор: yar 12.9.2007, 15:06 | ||
Видно конфликтуют MFC с CRT, DllMain и там, и там объявлена. Попробуй поменять местами либы линковщику вот что по этому поводу http://support.microsoft.com/kb/148652 |
| Автор: knut 12.9.2007, 19:58 |
| решил проблему так(но решение мне не очень нравится) закоменторовал DllMain функц. в своем длл е чтоб не конфликтовала и проблема решилась. но что значит закоментировать DllMain вxодную функц. xаос какой то . если у кого то есть вариант боле нормальный прошу выложить. zkv, yar, p.s спасибо и конечно плюсики в репу. короче respect |