Поиск:

Ответ в темуСоздание новой темы Создание опроса
> лечение C1852 
V
    Опции темы
17dufa
Дата 7.7.2009, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Добрый день.
взял на работе новый проект и обнаружил у него интересную особенность: при обычном Build он выдает ошибку C1852 (http://msdn.microsoft.com/en-us/library/aa229148(VS.60).aspx - ошибка прекомпайлд хедера) (от меня до сих пор ускользает ее смысл) а при Rebuild All все проходит. и так на каждое изменение. "int i;" добавил - пересобирай весь проект, удовольствие ниже среднего. 
Не подскажите, как это лечиться?
PM MAIL   Вверх
Earnest
Дата 7.7.2009, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

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



На каждое изменение чего?
Скорее всего, неправильно определен precompiled header. Посмотри в MSDN описание этой ошибки, тем есть возможные причины. Может, натолкнет на мысль.


--------------------
...
PM   Вверх
17dufa
Дата 7.7.2009, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



на каждое изменение в проекте, приводящее к необходимости компиляции. достаточно в cpp пустую строчку добавить. описание msdn вводит меня в полный ступпор smile 
PM MAIL   Вверх
Earnest
Дата 7.7.2009, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

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



Ну тогда создай пустой MFC-проект с прекомпилированными заголовками. И сравни настройки файлов, связанные с ними. Вкратце, stdafx.cpp должен иметь флаг CreatePrecompiler Header, а дальше в его свойствах должно быть указано Use PCH through file  = stdafx.h. А все остальные файлы должны иметь флаг "Use precompiled header" и тот же самый Use PCH through file  = stdafx.h.
В принципе, stdafx.h \ stdafx.cpp - имена произвольные, могут быть и другие.
В результате компиляции stdafx.cpp в каталоге проекта должен создаваться файл с именем <проект>.pch. Но это тоже по-умолчанию, в свойствах precompiled header можно поменять и это. Проверь также, может какая еще зараза создает свой вариант фала с таким именем, который вовсе не precompiled header или как-то его портит. 


--------------------
...
PM   Вверх
17dufa
Дата 7.7.2009, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Earnest, просто спаситель. у пары файлов стояло "Automatic use of precompiled header", переставил на "Use precompiled header" и все стало номана.
PM MAIL   Вверх
serg405
Дата 7.7.2009, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



А можно попробовать запускать проек через меню вот так
Build -->ProfileGuideOptimisation-->Run Instrumented/Optimisateed Application
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




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


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

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