Domanda

Sto avendo un libfoo.a libreria statica binario compilato per la macchina Linux a 32 bit. Vorrei compilare contro il mio progetto Win32 compilato con Cygwin.

È possibile? Sembra essere possibile, in quanto tutti i file oggetto nell'archivio devono essere in formato ELF standard.

Comunque io continuo che riceve gli errori di collegamento sulle funzioni che trova nm nel libfoo.a. Quando ho creato un libfoo.a stub con alcune funzioni vuote con gli stessi nomi di quelli in libfoo.a, non ho ricevo collega errori su quelle funzioni più.

è che anche possibile o mi sto perdendo qualcosa? In ogni caso, come posso risolvere questo problema?

È stato utile?

Soluzione

Anche se si riesce a collegare non sarà evitare l'incompatibilità del codice costruito su piattaforme diverse. Ad esempio intestazioni (glibc e altri) sono diversi lì. Per garantire la compatibilità ulteriori meccanismi simili a mutilazione sembrano essere utilizzato su simboli esportati dal file oggetto.

Ho incontrato un problema simile al tuo, quando ha cercato di file oggetto di collegamento insieme compilati per diverse architetture di processore -. Nm ha mostrato tutte le funzioni necessarie sono presenti, ma linker non credeva che

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top