Модераторы: feodorv, GremlinProg, xvr, Fixin

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проблема с хедером 
:(
    Опции темы
knut
Дата 10.9.2007, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Добрый день.
вот вклучаю хедер и получаю ошибку 
#include "afxdisp.h"
Цитата

fatal error C1189: #error :  WINDOWS.H already included.  MFC apps must not #include 
<windows.h>



p.s в проекте не где не включенны ни какие "windows.h" 


--------------------
Цитата

Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
PM MAIL   Вверх
zkv
Дата 10.9.2007, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


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

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



Цитата(knut @  10.9.2007,  14:51 Найти цитируемый пост)
в проекте не где не включенны ни какие "windows.h"  

а косвенно? те подключил файл, в котором подключен windows.h
PM MAIL   Вверх
yar
Дата 10.9.2007, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Попробуйте поставить этот include либо перед всеми остальными, либо после.
--------------------
Если бы строители возводили здания так, как программисты пишут программы, первый же дятел уничтожил бы мировую цивилизацию.Джеральд Вайнберг
PM MAIL WWW   Вверх
knut
Дата 10.9.2007, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



yar, 
поставил я инклуд в самое начало stdafx.h фаила и получил ошибки
Цитата

error C2146: syntax error : missing ';' before identifier 'HwndMSWheel'    
error C2433: 'HWND' : 'inline' not permitted on data declarations    
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int    
error C2065: 'PUINT' : undeclared identifier  
error C2146: syntax error : missing ')' before identifier 'puiMsh_MsgMouseWheel'    
 
а если в конец то та же ошибка что в начале

zkv, 
вот те все файлы каторые у меня в прекомпил хедере 
#include <atlbase.h>
#include <atlcom.h>
и где я косвенно подклучаю windows.h?


--------------------
Цитата

Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
PM MAIL   Вверх
zkv
Дата 10.9.2007, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


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

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



Цитата(knut @  10.9.2007,  15:46 Найти цитируемый пост)
и где я косвенно подклучаю windows.h? 

тута:
Цитата(knut @  10.9.2007,  15:46 Найти цитируемый пост)
#include <atlbase.h>

поясняю:
atlbase.h содержит:
Код

#include <atlcore.h>

atlcore.h содержит:
Код

#include <windows.h>

делай так:
Код

#include <afxwin.h>
#include <afxdisp.h>

#include <atlbase.h>
#include <atlcom.h>


Это сообщение отредактировал(а) zkv - 10.9.2007, 16:11
PM MAIL   Вверх
knut
Дата 10.9.2007, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



zkv, 
зделал как ты сказал но на выходе опять error ы
Цитата

error C2146: syntax error : missing ';' before identifier 'HwndMSWheel'
error C2433: 'HWND' : 'inline' not permitted on data declarations    
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int    141
error C2065: 'PUINT' : undeclared identifier    
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int    
Error    7    error C2059: syntax error : ')'    c:\program files\microsoft visual studio 8\vc\platformsdk\include\zmouse.h    147    
Error    8    error C2143: syntax error : missing ';' before '{'    c:\program files\microsoft visual studio 8\vc\platformsdk\include\zmouse.h    148    
Error    9    error C2447: '{' : missing function header (old-style formal list?)    c:\program files\microsoft visual studio 8\vc\platformsdk\include\zmouse.h    148    
Error    10    error C2146: syntax error : missing ';' before identifier 'HRESULT'    c:\program files\microsoft visual studio 8\vc\platformsdk\include\commctrl.h    29    
Error    11    error C4430: missing type specifier - int assumed. Note: C++ does not support default-int    c:\program files\microsoft visual studio 8\vc\platformsdk\include\commctrl.h    29    
Error    12    error C4430: missing type specifier - int assumed. Note: C++ does not support default-int    c:\program files\microsoft visual studio 8\vc\platformsdk\include\commctrl.h    29    
Error    13    error C2065: 'CALLBACK' : undeclared identifier    c:\program files\microsoft visual studio 8\vc\platformsdk\include\prsht.h    97    
Error    14    error C2065: 'LPFNPSPCALLBACKA' : undeclared identifier    c:\program files\microsoft visual studio 8\vc\platformsdk\include\prsht.h    97    
Error    15    error C4430: missing type specifier - int assumed. Note: C++ does not support default-int    c:\program files\microsoft visual studio 8\vc\platformsdk\include\prsht.h    97    
Error    16    fatal error C1903: unable to recover from previous error(s); stopping compilation    c:\program files\microsoft visual studio 8\vc\platformsdk\include\prsht.h    97    




--------------------
Цитата

Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
PM MAIL   Вверх
zkv
Дата 10.9.2007, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


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

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



проверил, у меня даже так работает (VC++8.0):
Код

#include <afxdisp.h>
#include <atlbase.h>
#include <atlcom.h>

так что не могу помочь больше, попробуй локализовать на тестовом проекте, может с precompiled headers ошибка связана?
PM MAIL   Вверх
knut
Дата 11.9.2007, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



zkv, 
что с моим компилером версия(VC++8.0) вот создаю простое преложение (МФЦ)
собираю а компилятор жалуется
Цитата

Error    1    error C2146: syntax error : missing ';' before identifier 'HwndMSWheel'    c:\program files\microsoft visual studio 8\vc\platformsdk\include\zmouse.h    141    
Error    2    error C2433: 'HWND' : 'inline' not permitted on data declarations    c:\program files\microsoft visual studio 8\vc\platformsdk\include\zmouse.h    141    
Error    3    error C4430: missing type specifier - int assumed. Note: C++ does not support default-int    c:\program files\microsoft visual studio 8\vc\platformsdk\include\zmouse.h    141    
Error    4    error C2065: 'PUINT' : undeclared identifier    c:\program files\microsoft visual studio 8\vc\platformsdk\include\zmouse.h    142    
Error    5    error C2146: syntax error : missing ')' before identifier 'puiMsh_MsgMouseWheel'    c:\program files\microsoft visual studio 8\vc\platformsdk\include\zmouse.h    142    
Error    6    error C4430: missing type specifier - int assumed. Note: C++ does not support default-int    c:\program files\microsoft visual studio 8\vc\platformsdk\include\zmouse.h    142    
Error    7    error C2059: syntax error : ')'    c:\program files\microsoft visual studio 8\vc\platformsdk\include\zmouse.h    147    
Error    8    error C2143: syntax error : missing ';' before '{'    c:\program files\microsoft visual studio 8\vc\platformsdk\include\zmouse.h    148    
Error    9    error C2447: '{' : missing function header (old-style formal list?)    c:\program files\microsoft visual studio 8\vc\platformsdk\include\zmouse.h    148    
Error    10    error C2146: syntax error : missing ';' before identifier 'HRESULT'    c:\program files\microsoft visual studio 8\vc\platformsdk\include\commctrl.h    29    
Error    11    error C4430: missing type specifier - int assumed. Note: C++ does not support default-int    c:\program files\microsoft visual studio 8\vc\platformsdk\include\commctrl.h    29    
Error    12    error C4430: missing type specifier - int assumed. Note: C++ does not support default-int    c:\program files\microsoft visual studio 8\vc\platformsdk\include\commctrl.h    29    
Error    13    error C2065: 'CALLBACK' : undeclared identifier    c:\program files\microsoft visual studio 8\vc\platformsdk\include\prsht.h    97    
Error    14    error C2065: 'LPFNPSPCALLBACKA' : undeclared identifier    c:\program files\microsoft visual studio 8\vc\platformsdk\include\prsht.h    97    
Error    15    error C4430: missing type specifier - int assumed. Note: C++ does not support default-int    c:\program files\microsoft visual studio 8\vc\platformsdk\include\prsht.h    97    
Error    16    fatal error C1903: unable to recover from previous error(s); stopping compilation    c:\program files\microsoft visual studio 8\vc\platformsdk\include\prsht.h    97    


в чем дело?


--------------------
Цитата

Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
PM MAIL   Вверх
Nastya
Дата 11.9.2007, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 27.3.2002
Где: Мариуполь

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



В свойствах проекта стоит что ты используешь MFC ?


--------------------
Что бы понять рекурсию, надо понять рекурсию

"Профессионал - это человек сделавший все возможные ошибки в очень узкой области". Н.Бор
PM MAIL   Вверх
zkv
Дата 11.9.2007, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


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

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



Цитата(knut @  11.9.2007,  10:57 Найти цитируемый пост)
в чем дело? 

трудно сказать. 
Я не могу воссоздать ошибку - у меня все работает. 
А как я могу ответить на не заданный вопрос?

Возможно дефайн где-то затесался ненужный типа WIN32(или наподобие)
В настройках проекта в precompiled header что стоит?

Добавлено через 1 минуту и 44 секунды
Цитата(Nastya @  11.9.2007,  11:15 Найти цитируемый пост)
В свойствах проекта стоит что ты используешь MFC ? 

на этапе компиляции это не важно smile
PM MAIL   Вверх
knut
Дата 11.9.2007, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Nastya, 
да(configuration property->General->Prop.Def.->use of MFC  -Use MFC in a Shared DLL)
zkv, 
Цитата

В настройках проекта в precompiled header что стоит? 

c/c++ ->precompiled header ->precompiled header file -$(IntDir)\$(TargetName).pch
c/c++ ->precompiled header ->create/use precompiled header  - Use Precompiled Header (/Yu)




--------------------
Цитата

Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
PM MAIL   Вверх
zkv
Дата 11.9.2007, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


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

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



knut, проблема не в precompiled header.
нужно больше инфы.
Создай проект, в нем создай теже файлы, подключи теже хидеры, что в твоем проекте (вообщем нужно воссоздать ошибку), если ошибка останется - выкладывай.
PM MAIL   Вверх
knut
Дата 11.9.2007, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



zkv, 
я созал простой (пустой)мфц  проект подключаю  #include <afxdisp.h> и те же ошибки  smile .

Добавлено через 2 минуты и 54 секунды
все ошибки на эту функц.
Код

__inline HWND HwndMSWheel(
      PUINT puiMsh_MsgMouseWheel,
      PUINT puiMsh_Msg3DSupport,
      PUINT puiMsh_MsgScrollLines,
      PBOOL pf3DSupport,
      PINT  piScrollLines
)



--------------------
Цитата

Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
PM MAIL   Вверх
zkv
Дата 11.9.2007, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


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

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



Цитата(knut @  11.9.2007,  15:49 Найти цитируемый пост)
я созал простой (пустой)мфц  проект подключаю  #include <afxdisp.h> и те же ошибки

выложи этот проект сюда, посмотрим
оставь только файлы: sln, vcproj, cpp, h, rc и всю папку res.
Заархивируй и выкладывай.
PM MAIL   Вверх
yar
Дата 11.9.2007, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



А что говорит компилятор, если ему поставить директиву /showIncludes ?.

Похожая проблема здесь.
zmouse.h должен инклюдится после  windows.h.

--------------------
Если бы строители возводили здания так, как программисты пишут программы, первый же дятел уничтожил бы мировую цивилизацию.Джеральд Вайнберг
PM MAIL WWW   Вверх
zkv
Дата 11.9.2007, 23:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


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

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



Цитата(yar @  11.9.2007,  16:04 Найти цитируемый пост)
Похожая проблема здесь

угу  smile 
PM MAIL   Вверх
knut
Дата 12.9.2007, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



народ уже 2 ой день мучаюсь  теперь такая ошибка.
Цитата

fatal error C1189: #error :  Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]    C:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\include\afx.h    24    

вот прекрепил фаил 


Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  SimpleProject.rar 9,92 Kb


--------------------
Цитата

Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
PM MAIL   Вверх
yar
Дата 12.9.2007, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Свойства проекта -> Configuration Proporties -> General -> Use of MFC
Поставь Use MFC in a Shared DLL.

--------------------
Если бы строители возводили здания так, как программисты пишут программы, первый же дятел уничтожил бы мировую цивилизацию.Джеральд Вайнберг
PM MAIL WWW   Вверх
zkv
Дата 12.9.2007, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


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

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



если хочешь статические, то С/С++->Code generation->Runtime library поставь в Multi-threaded (дебаг или нет - в зависимоти от сборки)
PM MAIL   Вверх
knut
Дата 12.9.2007, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



yar, 
так тоже химичил но вот результат
Цитата

error LNK2005: _DllMain@12 already defined in SimpleProject.obj    mfcs80ud.lib    
error LNK1169: one or more multiply defined symbols found    c:\Documents and Settings\SergeyAzizbekyanc\Desktop\SimpleProject\SimpleProject\Debug\SimpleProject.dll    1


Добавлено через 5 минут и 45 секунд
zkv
Цитата

Multi-threaded Debug DLL (/MDd)




--------------------
Цитата

Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
PM MAIL   Вверх
zkv
Дата 12.9.2007, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


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

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



Multi-threaded Debug (/MTd)
PM MAIL   Вверх
knut
Дата 12.9.2007, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



zkv, 
Multi-threaded Debug (/MTd)  и получаем 
Цитата

fatal error C1189: #error :  Please use the /MD switch for _AFXDLL builds    c:\program files\microsoft visual studio 8\vc\atlmfc\include\afxver_.h    77    




--------------------
Цитата

Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
PM MAIL   Вверх
yar
Дата 12.9.2007, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(knut @  12.9.2007,  14:28 Найти цитируемый пост)
error LNK2005: _DllMain@12 already defined in SimpleProject.obj    mfcs80ud.lib    error LNK1169: one or more multiply defined symbols found    c:\Documents and Settings\SergeyAzizbekyanc\Desktop\SimpleProject\SimpleProject\Debug\SimpleProject.dll    1


Видно конфликтуют MFC с CRT, DllMain и там, и там объявлена.
Попробуй поменять местами либы линковщику smile

вот что по этому поводу встретил

--------------------
Если бы строители возводили здания так, как программисты пишут программы, первый же дятел уничтожил бы мировую цивилизацию.Джеральд Вайнберг
PM MAIL WWW   Вверх
knut
Дата 12.9.2007, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



решил проблему так(но решение мне не очень нравится) 
закоменторовал DllMain функц. в своем длл е чтоб не конфликтовала и проблема решилась.
но что значит закоментировать DllMain вxодную функц. xаос какой то .
если у кого то есть вариант боле нормальный прошу выложить.

zkv, 
yar, 
p.s
спасибо   и конечно плюсики в репу. короче respect


--------------------
Цитата

Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




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


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

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