Всем привет.
В процессе ковыряния очередной фичи обнаружил, что мне жизненно не хватает чего-то вроде:
#include "my_dir//" + some_const_name + "//my_header.h"
void main() {
use_it(my_const_from_header);
}
В общем, захотелось мне выбирать путь к хидеру во время компиляции, в зависимости от каких-то внешних условий (например, прокидывать some_const_name компилятору как параметр /D).
Погуглив я понял, что решения нет (не считая ада с define-ами, который решает проблему, но как-то очень некрасиво).
Потом я полез в википедию, конкретно в описание С++11/14/17 и понял, что плюсы развиваются в сторону темплейтов, библиотек и т.п. Про препроцессор там не было ни слова.
Единственное похожее, что я нашёл, это директива import, которую предлагают использовать вместо include. Но, увы, только для стандартной библиотеки.
Вопрос: есть ли решение моей проблемы? Правильно ли я понимаю, что препроцессор никто и никогда не будет развивать и, видимо, вскоре от него откажутся?
ЗЫ: Использую Visual Studio 2017.