2015-01-09 2 views
15

Quindi sto cercando di costruire boost 1.55 per Android, ma ricevo errori di collegamento per Boost.System e Boost.Atomic, che dicono "errore: impossibile trovare -lrt ". Ovviamente, Android non ha librt perché è incorporato nel runtime C. Quindi, sto cercando di ottenere una spinta in modo che non si collegherà alla libreria. Ho provato solo l'eliminazione di ogni "-lrt" nel codice sorgente:Building Boost per Android con errore "non riesco a trovare -lrt"

find . -type f | xargs -n1 -P 8 sed -i "s/-lrt//g" 

Ma ho ancora ottenere lo stesso errore. Come faccio a potenziare il collegamento con librt per Android?

risposta

4

In effetti tutte le occorrenze di -lrt con sed non sembrano avere alcun impatto sul problema.
Che cosa ha funzionato per me (in spinta 1.53.0 però) è la seguente:

  • Modifica tools/build/v2/tools/gcc.jam
  • Commento libs = rt ; in questa sezione di codice (A proposito, potrebbe essere che non si ha la linea -pthread opzionale):

    case * : 
        { 
         option = -pthread ; 
         libs = rt ; <--Comment this line 
        } 
    

Nota : Come soluzione iniziale/forza bruta, vorrei prendere i comandi non riusciti e eseguirli manualmente rimuovendo -lrt da loro.