C ++ Creazione di un progetto di libreria statica con una struttura di cartelle

0

Sto lavorando su alcune librerie statiche usando Visual Studio 2012, e dopo aver costruito ho copiato i file .lib e .h nelle rispettive directory per abbinare una gerarchia desiderata come:

drive:/libraries/libname/includes/libname/framework

drive:/libraries/libname/includes/libname/utitlies

drive:/libraries/libname/lib/...

etc

Sto pensando qualcosa di simile al layout della cartella boost.

Ho fatto questo manualmente finora. La mia soluzione di libreria contiene progetti e quando eseguo l'aggiornamento e la ricompilazione, semplicemente ricopro i file dove devono essere. C'è un modo più semplice per fare questo? Forse un modo per compilare il progetto con determinate regole per progetto riguardo a dove dovrebbero andare i progetti .h e .lib?

    
posta Jake 01.11.2012 - 04:54
fonte

1 risposta

0

Suggerirei di creare un file MSBuild di implementazione che copi i file nelle varie directory di destinazione. Ciò manterrà tutte le regole di implementazione in un unico posto e ti consentirà di modificare sia l'origine che la destinazione senza influire sugli altri tuoi progetti.

MSBuild offre funzioni complesse che ti permetteranno di raggruppare insieme le caratteristiche del framework e dell'utilità e parlarne in gruppo. Poiché i progetti di Visual Studio sono progetti MSBuild, probabilmente potresti trovare un modo per includere il progetto di distribuzione nella tua soluzione.

C'è una ragione per la quale vorresti distribuire dall'IDE? Suggerirei di avere un passo di implementazione stand alone. Includere la distribuzione nel normale processo di compilazione può creare confusione quando si verificano errori di compilazione o errori di copia. Le versioni non corrispondenti finiscono in una directory della biblioteca e le persone dimenticano e perdono tempo.

    
risposta data 01.11.2012 - 11:28
fonte

Leggi altre domande sui tag