Domanda

Ho una serie di progetti Eclipse c che faranno tutti riferimento a una base di codice condivisa comune (un mix di file .c e .h nella stessa cartella) ma quel codice verrà creato in modo diverso in base al progetto.

La base di codice comune può essere modificata dall'interno di ciascun progetto, ma queste modifiche costituiranno correzioni da apportare a tutti i progetti.Il codice comune non divergerà per progetto ad eccezione delle opzioni di creazione tramite definizioni.

Se creo un progetto per questa libreria implica che la creazione di una libreria non è ciò di cui ho bisogno.Ho bisogno che i file oggetto risultanti arrivino al progetto per il quale sono stati creati.Quindi un progetto c/c++ non ha senso.

Il codice comune verrà archiviato in un repository di sovversione (come ogni progetto).Potrei usare "Nuova cartella -> Risorsa collegata" ma preferirei mantenere i progetti indipendenti dalla struttura di directory utilizzata dallo sviluppatore.

Esiste un modo pulito per farlo?

Grazie.

È stato utile?

Soluzione

Non sono sicuro che funzionerà per la tua versione di Eclipse o per CDT (l'ho testato con Java), ma sembra che dovresti creare una seconda cartella sorgente.Poiché una cartella di origine è solitamente privata per il progetto in cui esiste, è necessario creare una cartella collegata...(dalla tua descrizione sopra penso che forse lo hai già fatto, ma per completezza della risposta includo i passaggi seguenti).

L'ho fatto in questo modo:

  1. Crea un nuovo elemento nel tuo progetto
  2. Seleziona cartella (non una cartella di origine ma una cartella semplice)
  3. Nella finestra di dialogo di creazione della cartella fare clic sul pulsante "Avanzate >>" e selezionare la casella di controllo "Collegamento alla cartella nel file system".
  4. Fare clic su "Sfoglia" e selezionare la cartella dei file di origine comuni
  5. Fare clic su Fine

Ora hai una semplice cartella, ma per includere i file nella cartella nella tua compilation (almeno in Java funziona in questo modo) devi creare una cartella sorgente:

  1. Crea un nuovo elemento nel tuo progetto
  2. Seleziona "Cartella di origine"
  3. Fai clic su "Sfoglia" accanto alla casella di testo "Nome cartella".
  4. Seleziona la cartella collegata appena creata

Ora, nella mia versione di Eclipse e in Java, questa cartella è inclusa nella compilazione del codice.Speriamo che funzioni allo stesso modo in CDT...

Se esegui un sistema operativo con collegamenti simbolici reali (Linux, OSX?) puoi anche utilizzare una cartella con collegamento simbolico nel tuo progetto per la cartella di origine aggiuntiva, quindi dovresti essere in grado di eseguire semplicemente i passaggi di creazione della "cartella di origine" sopra.

Se la tua versione di Eclipse non dispone di un pulsante "Sfoglia" nella finestra di dialogo di creazione della cartella di origine, prova semplicemente a digitare lo stesso nome nella casella di testo.

Saluti,

/E

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top