|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
07.04.2013, 17:11 | #1 |
Пользователь
Регистрация: 01.03.2013
Сообщений: 22
|
вопрос по компиляции
суть проблемы такая: портирую проект со старой версии msvs на новую(2010). вылезают ошибки типа не понравилось ему _WIN32_WINNT и WINVER. часок прогугливания и вставок в разные файлы #define WINVER 0x0600 #define _WIN32_WINNT 0x0600
только после записи этих строк в файлик stdafx.h компилятор заткнулся. появилась новая ошибка:'CCM_SETWINDOWTHEME' : undeclared identifier. тыкаю GO TO DEFINITION. попадаю в файл CommCtrl.h.пяток переходов по .h файлам и вижу что объявление этого чуда зависит от _WIN32_IE. опять задаю #define _WIN32_IE 0x0500 в stdafx. дальше вылезло ещё пару десятков ошибок и я забил на этот туториал но вопрос не в этом. собсно сам вопрос: существует ли какойнить аналог breakpoint только для процесса компиляции чтоб пошагово можно было проследить какие директивы/переменные(и т.д) переобъявляются ибо это гемор искать во всём msvs какой это файл перебивает моё #define. жду конструктивных ответов |
08.04.2013, 00:27 | #2 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
1. В случае, если дефайн передефайнивается, студия и гцц выдают варнинги, указывая что было объявлено первым, и место, где оно передефайнивается.
2. Перенос проекта на другю ИДЕ заключается в создании нового проекта в этой другой ИДЕ, с подключением всех необходимых уже существующих библиотек и исходных файлов. Трогать дефайны виндузятной стандартной библиотеки не нужно. |
01.05.2013, 11:30 | #3 |
Пользователь
Регистрация: 01.03.2013
Сообщений: 22
|
спс за ответ но мой вопрос был в другом:" существует ли какойнить аналог breakpoint только для процесса компиляции чтоб пошагово можно было проследить какие директивы/переменные(и т.д) переобъявляются".
зы принудительно переобъявлял дефайны в прям в головном cpp, вроде варнов не выдавало |
01.05.2013, 12:36 | #4 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,330
|
Нет, такого аналога нет.
Если вы переопределите дефайн повторно, компилятор выдаст warning и укажет место старого и нового определения. Если оба определения одинаковы, тогда ничего не выдаст. Теперь вопрос - почему вы решили, что _WIN32_IE должно быть именно 0x500 а не например 0x800? Не парьтесь дефиниривать самому, подключите <sdkddkver.h> |
01.05.2013, 13:17 | #5 |
Пользователь
Регистрация: 01.03.2013
Сообщений: 22
|
заморочился дефайнами потому, что при переносе скорей всего рабочего проекта с 2008 на 2010 msvs появилось много ошибок в местах функциях\переменных, которые зависят от _WIN32_IE _WIN32_WINNT и тд. к сожалению не могу привести конкретный пример, но ругался VS примерно так: старая версия IE или winver имеет слишком низкое значение(типа if _WIN32_IE>0400 define somefunc,-> при _WIN32_IE=0500 даёт ошибку somefunc undefined), хотя на компе стоит win7 и IE9. дефайнил максимальные значения для этих переменных которые нашёл в msdn, но ошибка сохраняется
зы sdkddkver.h подключено но даже при принудительном объявлении _WIN32_IE=0400 при дебаге |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ошибки компиляции | KOLANICH | Общие вопросы C/C++ | 0 | 25.02.2012 17:14 |
Ошибка компиляции | sidestep | Общие вопросы C/C++ | 5 | 16.02.2012 18:37 |
вопрос о компиляции в вижуале | Kukurudza | Общие вопросы C/C++ | 1 | 27.06.2011 09:35 |
Ошибка компиляции | ddd329 | Общие вопросы C/C++ | 1 | 10.06.2010 20:31 |
Директивы компиляции | joker | Общие вопросы Delphi | 3 | 10.06.2008 09:41 |