Sto provando a collegare un progetto nativo complicato per Xamarin. E 'Progetto Obj-C UI che dipende da Native Obc-C++ involucro oltre libreria C++ (questo progetto è incorporato): Xamarin iOS Il collegamento nativo funziona su Simulatore, simboli duplicati sul dispositivo
ho fonte nativa e progetto di test in Xcode e tutto va bene.
Quindi creo librerie di grassi di tutte le dipendenze, aggiungendole al progetto di associazione xamarin.
Nel progetto principale che ho avuto alle opzioni di configurazione gcc stessi per simulatore e dispositivo:
-vvvv -cxx --registrar:static -gcc_flags "-L${ProjectDir}/../RMSDKWrapper -dead_strip -lstdc++ -lstdc++.6.0.9 -lpthread -lsqlite3 -lxml2 -ObjC -ladept-iOS -lxml-iOS -lz -lcurl -lssl -lcrypto -ldp-iOS -lePub3-iOS -L/usr/lib -I/usr/include/libxml2"
tutto funziona bene su Simulatore ma quando sto cercando di compilare questo per il dispositivo, linker ci riesce Collega le librerie a causa dei simboli duplicati. Ho controllato tutte le librerie usando 'nm' tutti gli oggetti hanno lo stesso aspetto per Simulatore e Dispositivo. Ho visto che solo gli oggetti duplicati sono classi Obj-C++ nel wrapper incorporato (rmsdk_wrapper2.xcodeproj). nm
trova gli oggetti in wrapper lib e in lib dal progetto host (TestRMSD.xcodeproj). Ma per il simulatore si risolve bene, né per il dispositivo.
UPD XS Versione: https://gist.github.com/ad1Dima/eb1cc390930e191a5454260da2410c91
Costruire Log: https://gist.github.com/ad1Dima/8ea8c4a271ef63efb310252234b32ae5
ho bisogno di qualche idea di come posso risolvere questo problema.
Chiunque? Qualche idea? – ad1Dima
Potresti condividere l'intero [registro di build] (https://kb.xamarin.com/customer/en/portal/articles/1675684-where-can-i-indire-my-version-information-and-logs-# verbose-build-output-logs) durante la creazione del dispositivo. Quale versione di Xamarin.iOS stai usando? –
@Prashant ha aggiornato la mia domanda – ad1Dima