У меня есть несколько исходных и заголовочных файлов, содержащих код, который должен быть скомпилирован в зависимости от того же параметра. Эта опция может быть установлена сУправление кодом с использованием #define
#define myOption
Чтобы быть виден этот вариант во всех моих файлах мне нужно поставить его на место, где все файлы могли видеть его. Я вижу только один путь - поместите этот параметр в специальный заголовочный файл и включите его во все исходные и заголовочные файлы. Есть ли другой способ решить мою проблему? Каковы наилучшие методы организации кода?
UPD
В комментариях я нашел вариант, заголовок файла, который содержит myOption может быть stdafx.h
. Но это не очень хорошая практика, насколько я могу видеть, потому что в проектах CPP
с включенным заголовком precompile у меня могут быть, например, некоторые устройства с кодом C
с отключенным предварительно скомпилированным заголовком.
Это зависит от того, как настроен ваш код, но это один из случаев, когда использование предварительно скомпилированных заголовков ('stdafx.h',' stdafx.cpp') пригодится. Здесь вы можете разместить обычно включенные заголовки и общие макросы препроцессора. – CoryKramer
Вы также можете установить его как вариант компилятора проекта. – crashmstr
Если вы используете утилиту типа cmake, вы можете определить символы в make-файле. См. Http://stackoverflow.com/questions/9017573/define-preprocessor-macro-through-cmake – NathanOliver