Multi-Target progetto di Visual Studio: il codice sorgente di una
-
22-08-2019 - |
Domanda
Qualche suggerimento su come si potrebbe fare per la creazione di un sistema di generazione che la compilazione di uno o due librerie contro un paio di diverse piattaforme / target.
Il progetto principale è in Visual Studio.
Per esempio, ho una biblioteca:
nav.lib
Si compila su Windows e Linux con un paio di modifiche.
L'eseguibile che utilizza la libreria, win_nav.lib, compila solo su Windows in questo momento con OpenGL.
Sono porting questo codice per l'iPhone. Anche se so che non posso compilare e collegare l'intero catalogo di Windows vorrei cercare di compilare il codice grafica con OpenGL include e OpenGLES comprende. (Forse posso testare il mio codice opengles sulla macchina Windows come bene?)
Ho intenzione di cambiare il mio file grafico includere, in base bandiere del preprocessore:
#ifdef USE_OPEN_GL_FULL
#include <opengl/gl.h>
#else
#include <opengles/gl.h>
#endif
Quindi, come si va a fare questo?
Utilizzando un paio di diversi script o diversi progetti in Visual Studio?
Soluzione
Questo è ciò che "la soluzione Configurazioni" sono per. Per impostazione predefinita, Visual Studio crea le configurazioni di uscita e di debug, ma è possibile aggiungere le proprie configurazioni personalizzate troppo. Le Opzioni progetto sono diverse per ogni configurazione, quindi basta impostare la # define nella configurazione che ne ha bisogno.
Quando si esegue il compilazione automatica è sufficiente impostare il parametro / build per il nome della configurazione che si desidera compilare con.
Altri suggerimenti
In VS è possibile utilizzare il Configuration Manager di destinazione diverso costruisce e gestire più librerie all'interno del codice.