Извините, что есть много похожих вопросов, но я обнаружил, что запросы Googling для CMake всегда дают похожие, но не одинаковые сценарии, конфликтующие команды CMake и т.д.
Мне нужно заставить мой проект построить 32-битные двоичные файлы, потому что мне нужно связать с библиотекой, которая доступна только как 32-разрядная. Я диагностировал это на основе сообщений об ошибках, таких как:
/usr/bin/ld: i386 architecture of input file `*external-32bit-lib*' is incompatible with i386:x86-64 output
Из того, что я собираю, я должен использовать:
set (CMAKE_CXX_FLAGS "-m32")
Это меняет вещи - теперь я получаю несколько ошибок, например:
/usr/bin/ld: i386 architecture of input file `*project-output-lib*' is incompatible with i386:x86-64 output
И все равно получайте те же ошибки и для внешней библиотеки. Я думаю, что это потому, что -m32
сделал gcc генерировать 32-битные двоичные файлы, но ld все еще пытается получить 64-битный вывод? Дальнейший Googling для этой проблемы не давал никакого успеха, поэтому, если бы кто-нибудь мог проверить, что я прав, и дать правильный способ сделать это, я был бы очень благодарен!
Большое спасибо!