Я недавно столкнулся с тем же симптомом с VS2005. В конечном итоге мне удалось решить эту проблему путем явного добавления определений препроцессора через командную строку - диалоговое окно «Дополнительные параметры»:
Свойства конфигурации -> C / C ++ -> Командная строка
Когда я добавил '/DPROPERTY
', он был распознан во время компиляции, тогда как добавление его в 'Preprocessor -> Preprocessor Definitions' ничего не сделало. Как ни странно, диалоговое окно командной строки показывало, что Visual Studio добавлял свойство в командную строку, хотя и в форме '/D "PROPERTY"
'.
К сожалению, давление на график таково, что я не смог разобраться в проблеме достаточно глубоко, чтобы выяснить, что является основной проблемой, и почему она не работает "из коробки" для некоторых наших проектов, но не другие. Тем не менее, обходной путь выше стоит попробовать, если у вас есть этот симптом.
Кроме того, кредит, где кредит должен: идея пришла от этой темы .