Создание проекта с файлами, ожидающими по параметру - PullRequest
2 голосов
/ 04 июня 2009

Я пытаюсь найти способ построить проект C / C ++, включающий в себя только определенные файлы, в зависимости от входных данных, т.е. если его параметр a включает файлы 1-5. параметр b включает в себя файлы 6-10 и т. д. и т. д. В основном сценарий или что-то для создания проекта на основе входных данных для Visual Studio. Единственные идеи, которые я придумала, - это использовать команды препроцессора, которые, кажется, не работают, использовать команду пространства имен, но я не уверен, как их вообще использовать, или писать сценарий каким-то образом, но я не знаю, как бы я поступил в этом.

Причина в том, что я не могу редактировать некоторые внутренние файлы приложения, и они имеют одни и те же имена функций. Любая помощь будет принята с благодарностью!

Ответы [ 2 ]

4 голосов
/ 04 июня 2009
#ifdef MY_FLAG
#include "header1.h"
#include "header2.h"
#include "header3.h"
#include "header4.h"
#include "header5.h"
#endif

#ifdef MY_OTHERFLAG
#include "header6.h"
#include "header7.h"
#include "header8.h"
#include "header9.h"
#include "header10.h"
#endif

Поверьте, это работает :) Просто убедитесь, что вы правильно их определили.

альтернативный текст http://img199.imageshack.us/img199/1157/myflag.gif

2 голосов
/ 04 июня 2009

Вы также можете играть в некоторые игры, чтобы обернуть файлы с одинаковыми именами функций, например:

В wrapper.c:

   #define funca file1_funca
   #include "file1.c"
   #undef funca

Это немного грязно, но это может сработать.

...