La mia app richiama molte librerie condivise. Alcuni sono scritti in C++ che estrae in libstdC++. Quindi, che richiama in libgcc_s.so. Altre ancora sono scritte in semplice C e collegate con -static-libgcc.È libgcc_s.so collegato sia staticamente che dinamicamente nello stesso processo ok?
Così ora ho bit di libgcc collegati in modo statico all'interno di più librerie condivise e libstdC++ carica in modo dinamico altri bit di libgcc in fase di runtime.
Q1: questa impostazione mi avrebbe dato problemi? Libgcc ha uno stato interno che renderebbe problematico questo collegamento misto o è solo funzioni integrate?
Q2: Per far funzionare la mia app su Linux precedenti, dovrei distribuire libstdC++. So e libgcc_s.so e utilizzare rpath sull'exe principale per caricarlo. È questo il modo giusto per farlo?
Ho notato che la mia app che è compilata con -static-libgcc si blocca _on exit_ se carico una libreria C++ in fase di runtime (che carica libgcc_s), ma solo su Mingw-w64 a 32 bit (su Mingw-64bit e su Linux 32 e 64 esiste senza crash). – cap