Ho diversi file .c e un file oggetto .a. Quale comando con gcc dovrei usare per compilarli in un file exe? Se usiamo un makefile, come sarà?per compilare file c con file .a
risposta
Il file .a è una libreria, già compilata. Compilate il vostro file .C su un file .o, quindi usate il linker per collegare il vostro file .o con il file .a per produrre un file eseguibile.
Per i casi semplici probabilmente si può fare questo:
gcc -o maybe.exe useful.a something.c
Makefiles per i progetti non banali di solito prima invocare gcc per compilare ogni file .c a un oggetto .o.
gcc -c something.c
Poi richiamare il linker (in questi giorni spesso utilizzando gcc come wrapper per esso) con un elenco di file .o e .a di collegare in un file eseguibile di uscita.
gcc -o maybe.exe useful.a something.o
Si noti inoltre che per le biblioteche più installate, è tipico non specificare esplicitamente il file .a ma invece di dire -lhandy che sarebbe l'abbreviazione di "cercare di trovare qualcosa chiamato libhandy.a nel configurato (o specificata con -L) directory di ricerca"
Grazie ad anonimo per intercettare l'errore nella generazione del file oggetto –
*.a
è una libreria statica e non dinamica (*.dll
in finestre e *.so
in linux)
gcc -L<here comes the library path> -l<library name>
ad esempio per il file che avete libname.a nella corrente percorso che si dovrebbe usare:
gcc *.c -L. -lname -o myprogram.o
dal man (mettere l'uomo gcc nel prompt dei comandi di shell)
Potete mescolare opzioni e altri argomenti. Per la maggior parte, l'ordine che usi non ha importanza. L'ordine conta quando si utilizzano diverse opzioni dello stesso tipo; ad esempio, se si specifica -L più di una volta, le directory vengono cercate nell'ordine specificato. Inoltre, il posizionamento dell'opzione -l è significativo.
- 1. emacs keybinding per compilare il file C
- 2. Come compilare un solo file in C#?
- 3. D8045: impossibile compilare il file C 'serialcommands.c' con l'opzione/clr
- 4. Come compilare diversi file c con CFLAG differenti usando Makefile?
- 5. Come compilare il file .c con OpenSSL include?
- 6. Compilare un file binario per collegare OSX
- 7. CMake può usare g ++ per compilare i file C?
- 8. Override compilare bandiere per i file singoli
- 9. Compilare insieme file C e C++ usando GCC
- 10. Come compilare un singolo file con Maven?
- 11. Compilare il file tex XeLaTeX con latexmk
- 12. Compilare usando MONO - C# con riferimento a una libreria C#?
- 13. Compilare i file java programmaticamente
- 14. Come compilare un file C senza studio visivo
- 15. Come compilare file in clojure
- 16. Come faccio a compilare un file .cpp solo nel file oggetto senza chiamare il linker
- 17. eclipse C++ esclude più file da compilare contemporaneamente?
- 18. inclusi i file di intestazione in C e compilare
- 19. Come compilare più file .c e .h in gcc linux?
- 20. Compilare solo i file selezionati in Maven
- 21. C++ Come compilare dll in un file .exe
- 22. Utilizzo di G ++ per compilare più file .cpp e .h
- 23. Come compilare i file HTML nel file CHM?
- 24. C++ FILE puntatore a stdout?
- 25. Due variabili con lo stesso nome e tipo, in due diversi file .c, compilare con gcc
- 26. Come faccio a compilare più file py come uno?
- 27. Compilare un file Java ... con un programma Java
- 28. Compilare lo stesso file con flag diversi utilizzando CMAKE
- 29. compilare il modulo file di input con JavaScript
- 30. Come compilare C# con lingua specifica Versione
Non risponde alla domanda su * come * per farlo. Non dice "come sarà". – mtahmed