dispiace che ci sono molte domande simili, ma io trovano che usare Google per le query CMake produce sempre scenari simili-ma-non-lo-stesso, contrastanti comandi CMake e così sopra!Il modo corretto di costringere a 32 bit compilare usando CMake
ho bisogno di forzare il mio progetto per costruire i binari a 32 bit perché devo collegare con una libreria che è disponibile solo a 32-bit. Ho diagnosticato questo sulla base di messaggi di errore come:
/usr/bin/ld: i386 architecture of input file `*external-32bit-lib*' is incompatible with i386:x86-64 output
Da quanto ho capito, mi dovrebbe quindi utilizzare:
set (CMAKE_CXX_FLAGS "-m32")
Questo non cambia le cose - io ora ottenere diversi errori come:
/usr/bin/ld: i386 architecture of input file `*project-output-lib*' is incompatible with i386:x86-64 output
e ancora ottenere gli stessi errori per la libreria esterna troppo. Io penso questo è perché il -m32
Made gcc generare file binari a 32 bit, ma ld sta ancora cercando per l'uscita a 64 bit? Ulteriore Googling per questo problema non ha dato alcun successo, quindi se qualcuno potesse verificare che ho ragione e dare il modo corretto di farlo, sarei molto grato!
Grazie mille!
Grazie -che potrebbe essere il caso - Ma come Lo faccio anche se CMake? Ed è questo il modo più sensato o 'corretto' per farlo? Ho fatto pulire btw :) – jazzbassrob
risposta aggiornata. Vedi il link. Intendevo pulire le mani, sei sporco :) –
Saluti, ma sfortunatamente il collegamento non sembra aiutare. Impostazione LDFLAGS sembra avere alcun effetto ... – jazzbassrob