Open ghost opened 3 years ago
In verità la soluzione corretta sarebbe non embeddare la dipendenza nei sorgenti. Con gli autotools e cmake è possibile controllare la presenza per compilare della libreria nella minima versione richiesta al fine di non avere il problema che firefox non è in grado di risolvere tutti i simboli. Con eclipse CDT sembra essere impossibile: nella documentazione non è citata e l'unica FAQ che ha a che fare con questo tema dimostra che CDT non lo gestisce.
Quindi la soluzione corretta è passare ad un sistema di build in grado di gestire la dipendenza a build time, perché aprirebbe la cosa anche a scenari interessanti, come il porting su ARM.
@ocampana gli autotools e cmake in fase di compilazione si limitano a dare l'errore di assenza libreria, lasciando al sistemista/utente finale di ricompilare la libreria corretta. L'idea di incomporare la libreria all'interno del repository github è solo per comodità che sicuramente ha i suoi inconvenienti, ma alla fine l'utente non perde tempo a capire cosa non va nella compilazione, certo anche una buona documentazione risolverebbe, ma bisogna accontentarsi di quello che si ha.
Per quanto riguarda eclipse CDT è una semplice gui a g++/gcc passando il parametro corretto g++ in fase di compilazione finale della libreria, risolve tutti simboli segnalando quelli mancanti, anche compilando con make/cmake si avrebbe lo stesso problema se il parametro non verrebbe passato. gcc/g++ non lo fanno in automatico bisogna chiederglierlo.
Non è vero:
Vorrei altresì far notare che cryptlib.h in cascata include config_ver.h che definisce:
Quindi basterebbero in po' di #if
e#error
per gestire la compilazione corretta direttamente dal preprocessore, fallendo in modo esplicito.
Non ci sono motivi tecnicamente validi per embeddare una libreria precompilata nel repository.
Ho installato il pacchetto git-lfs per poter scaricare la libreria statica libcryptopp dal vostro repository ma senza successo. Questo è il messaggio d'errore in fase di clone:
le alternative sono 2:
Vediamo se da aprile sarà possibile scaricare il repository completo. Comunque nel mio fork ho messo la versione 8.2 compilata dal repository ufficiale e compressa con xz ridotta a 15MB.