Во-первых: компиляция / компоновка не выполняют ваш код C ++.Таким образом, вы не можете написать код C ++ piece'o и принять решение (изменить некоторые настройки проекта ЭТОГО проекта) на основе некоторых условий C ++ (например, if / else /...).
#pragma
и #defines
- директивы препроцессора, как вы уже знаете.Хотя компилятор понимает #pragmas
, возможности программирования ограничены и обычно зависят от компилятора.
Обычно их используют для того, чтобы сделать платформу кода независимой.
Чтобы ответить на ваш оригинальный вопрос "как мнеизменить свойства проекта программно (не вручную)? ": Вы можете написать" код ", используя #pragmas
& #defines
(даже условные) в вашем коде для управления различными настройками.Обычно поддержка зависит от поставщика компилятора, поэтому ваш код, скорее всего, не будет переносимым (между компиляторами), если вы не будете осторожны.
В моем GCC я всегда находил c ++ config.ha хороший пример различныхдиректива cpp.На моем компьютере с Windows он установлен в X:\MinGW\lib\gcc\mingw32\4.5.2\include\c++\mingw32\bits\c++config.h
Чтобы узнать поддерживаемые директивы cpp, RTM вашего компилятора.
Очевидно, что другой вариант - написать shell / perl / ..Скрипт для внесения изменений в настройки проекта / Makefiles.Я рекомендую это по сравнению с запутыванием в директивах cpp.:)
Конечно, эта опция будет изменять настройки до компиляции, а не во время .Но если это не проблема для вас, используйте скорее директивы cpp.