Sviluppo alcune librerie native per Android e utilizzo le librerie Boost, solo quelle basate su intestazioni. Il problema che sto affrontando è che quando provo a collegare alcune delle mie librerie native con alcune librerie di sistema, viene lanciato lo UnsatisfiedLinkError
. E 'a causa di diversi tempi di esecuzione C++ come indicato nella documentazione NDK:È possibile disabilitare Eccezioni e RTTI nelle librerie Boost?
È possibile selezionare solo una singola C++ di runtime che tutto il codice sarà dipendere. Non è possibile combinare librerie condivise compilate su diversi runtime in C++.
Le librerie di sistema non utilizzano RTTI ed Eccezioni, ma le mie librerie la utilizzano implicitamente. So che ci sono macro BOOST_EXCEPTION_DISABLE
e BOOST_NO_RTTI
, ma non sono in grado di farlo funzionare. Ho cercato di impostare loro come flag di compilazione e nella config.hpp pure, ma senza fortuna - ancora ricevendo molti errori come
cannot use typeid with -fno-rtti
Come è possibile disattivare queste funzionalità in Boost, è anche possibile?
Si è verificato questo errore durante il tentativo di compilare Boost? O quando cerchi di compilare il tuo codice? –
Durante il tentativo di compilare il mio codice. – vitakot
BTW, la tua domanda non ha senso; Ho scritto che uso solo le intestazioni ..., principalmente circular_buffer.hpp, signal.hpp e shared_ptr.hpp – vitakot