Prima di tutto, sono relativamente nuovo a C - conosco un po 'il linguaggio, ma non ho mai dato troppa importanza all'intero processo di compilazione.
Da quello che sto vedendo, se voglio usare una libreria di terze parti e averla in forma di codice sorgente, vorrei compilare quella libreria separatamente (che produce una piattaforma e un blob binario specifico per l'architettura?), copia su. h file da quella libreria nel mio progetto, e poi dire al mio linker che dovrebbe collegarsi a quello.
Da quello che ho letto , sembra che dovrei usare lo stesso compilatore e assicurarmi che vengano compilati per la stessa piattaforma, il che mi fa pensare a come dovrei strutturare il mio progetto e costruire.
Sembra imprudente lavorare con le librerie precompilate, e invece dovrei controllare il codice sorgente di quelle librerie (ad esempio, SDL, Lua, NCurses, qualsiasi Parser JSON ecc.) e poi creare queste librerie da zero ogni volta Ho (ri) compilato la mia domanda.
Questo sembra un enorme dolore, a causa dei diversi sistemi di costruzione. Vengo dal mondo C # in cui i sistemi di imballaggio (e il formato di libreria binaria per lo più indipendente dalla piattaforma) rendono questo molto più semplice.
Qual è il modo giusto di lavorare con le librerie in un progetto C? (No C ++)