Esiste un modo per includere in modo sicuro le librerie (interne o esterne) nella directory di un progetto (ad esempio in una cartella / lib) quando spedite o rilasciate il codice? Per quanto posso vedere, sarebbe molto più semplice se i file della libreria da cui dipendeva l'applicazione fossero collocati lì; in questo modo, altre persone che desiderano utilizzare il codice non dovranno scaricare, compilare e installare le librerie sul proprio sistema (nella cartella / usr / local / lib o allo stesso modo). Se questo è possibile (o consigliabile), allora altre persone potrebbero semplicemente clonare l'intera directory incluse le librerie, qualcosa come cmake potrebbe impostare il linker per raccogliere queste librerie e gli utenti potrebbero quindi semplicemente emettere un cmake e fare il comando piuttosto che installare prima le librerie sul proprio sistema.
Sono certo che questo potrebbe non funzionare se le due macchine hanno un diverso ordine di byte o lunghezza di parole, ma escludendo queste, c'è qualche ragione per non mettere semplicemente i file .a o .so con il tuo codice?
Se non è possibile (o consigliato per qualche motivo) includere i file della libreria con il codice sorgente, allora ci sono alternative per scaricare l'altro utente, compilarlo e installarlo sulla propria macchina? Contenitori (Docker) o gestori delle dipendenze (Conan) forse?
P.S. Sto parlando di sviluppo c / c ++ in ambienti Linux esclusivamente per applicazioni desktop.