Я и некоторые друзья пытаемся создать игровой движок, который может запускать несколько игр на С ++.Игры настолько похожи, что все они имеют одинаковую механику и интерфейсы, которые я хочу сделать для некоторых файлов, применимых к каждой игре.Многие исходные файлы будут такими же, как файлы нашего графического интерфейса или Game Engine.Однако некоторые файлы, относящиеся к индивидуальной игровой механике, будут меняться от игры к игре.Если это расширяется до большой библиотеки, я не хочу просто включать каждый файл из каждой библиотеки, чтобы играть в одну игру.Я также не хочу, чтобы в каждой папке библиотеки были дубликаты файлов графического интерфейса и игрового движка.
В настоящее время я думаю об идее запуска, который изменит теги #include в соответствии с выбором.сделано пусковой установкой, хотя это может потребовать перекомпиляции.Есть ли способ сделать это / это хорошая техника, или это лучший способ?(имейте в виду, я бы предпочел, чтобы int main оставался в игровом движке / общем файле, а не создавал main для каждой игры)