Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Компилятор выдаёт непонятные ошибки


Автор: Игорь1024 5.10.2010, 12:06
(Пользуюсь VS2008);
На днях пришлось переставлять систему;
Решил старый проект подправить, но получил при компиляции:

1>e:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlconv.h(92) : error C2061: синтаксическая ошибка: идентификатор "LONG_PTR"
1>e:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlconv.h(92) : error C2146: синтаксическая ошибка: отсутствие "(" перед идентификатором "LONG_PTR"
1>e:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlconv.h(92) : error C2061: синтаксическая ошибка: идентификатор "LONG_PTR"
1>e:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlconv.h(92) : error C2146: синтаксическая ошибка: отсутствие "(" перед идентификатором "LONG_PTR"
1>e:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atltrace.h(48) : error C2833: 'operator DWORD_PTR' не является распознаваемым оператором или типом
1>e:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atltrace.h(48) : error C2059: синтаксическая ошибка: newline
1>e:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atltrace.h(48) : error C2238: непредвиденные лексемы перед ";"
1>e:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atltrace.h(276) : error C2833: 'operator DWORD_PTR' не является распознаваемым оператором или типом
1>e:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atltrace.h(277) : fatal error C1903: не удается восстановить после предыдущих ошибок; остановка компиляции

Что самое странное, на предыдущей системе SDK новый не ставил и всё прекрасно работало.
Вставлял  #define LONG_PTR DWORD, но так на LONG_PTR компилятор опять матерится.
Это всё при Release;(Всякие GetWindowLongPtr пришлось сменить на GetWindowLong и GWLP_HISTANCE на GWL_HISTANCE -раньше и на них ругался)
При дебаге вообще 120 ошибок smile
Как исправить это?

Автор: bsa 5.10.2010, 13:25
попробуй очистить старый проект от временных файлов. возможно, это из-за прекомпилированных заголовочных файлов.

Автор: Игорь1024 5.10.2010, 13:51
Не помогло.
Так и пишет про ошибки в atltrace.h;

Автор: icecrashldr 5.10.2010, 16:31
скорее всего не хватает нужных includes . 
Попробуйте в начале вставить 
#include <windows.h>

Автор: Игорь1024 5.10.2010, 23:15
Как раз #include "windows.h" в начале стояло.
Проблему нашёл в парочке корявых фалов, которых заменил на файлы из другой студии.
Всё работает.

Автор: Lowe 2.12.2011, 18:05
Цитата(Игорь1024 @ 5.10.2010,  23:15)
Проблему нашёл в парочке корявых фалов, которых заменил на файлы из другой студии.

а не подскажете, какие такие файлы? почти уверен, что у меня точно такая же проблема, что и у Вас была (

Добавлено через 1 минуту и 59 секунд
а ещё интересен способ, которым Вы эти файлы вычислили о_О

Автор: Lowe 7.12.2011, 04:51
а у меня проблема решилась
делал по видеоуроку, там специально создали файл .c
помогло переименовывание в .cpp

П.С. хотя остаётся ещё вопрос, почему у них в видеоуроке запустилось и при .c, но это уже другая тема

Автор: levsim 12.12.2014, 22:52
 smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)