Sto tentando di scrivere alcuni binding C per la lingua Go e ho incontrato una sorta di situazione appiccicosa durante l'installazione della compilation Cgo in Windows. Ho codice che è simile al seguente:È possibile utilizzare le variabili di ambiente in un commento CFLAGS cgo?
// #cgo windows CFLAGS: -I C:/dev/extlibs/include/
// #cgo windows LDFLAGS: -lMyLib -L C:/dev/extlibs/lib/
// #include <mylib/mylib.h>
import "C"
che mi permette di evitare l'installazione di DLL, librerie e file di intestazione direttamente nel mio directory C: \ Windows, ma non consente molta flessibilità quando altri sviluppatori stanno lavorando con una diversa configurazione del file system (tutti hanno bisogno che le librerie siano in C:/dev/extlibs/...).
C'è un modo per referenziare una variabile di ambiente all'interno del codice? Forse qualcosa sulla falsariga di:
// #cgo windows CFLAGS: -I $EXTLIBS$/include/
O c'è un altro modo in cui le persone a risolvere questo problema che ho perso? Ho passato un po 'di tempo a googling su questo argomento e non ho visto molto che sia stato utile, quindi qualsiasi informazione e/o risorsa potrebbe essere un vero aiuto!
Queste sono alcune buone idee. Darò loro una prova. FWIW, io uso pk-config su darwin/linux, ma è sempre sembrato un po 'più difficile di quanto valesse su Windows in passato. –
@ChrisCovert Sì, mi ci è voluto un po 'per risolvere le dipendenze su Win8 :-(Alla fine, però, quella domanda collegata SO ha alcuni buoni link nei commenti. – Intermernet
FWIW, penso che sto andando a dare una prova a pkg-config e vedere se funziona un po 'meglio dell'ultima volta. Grazie per le risorse! –