Извините, что есть много похожих вопросов, но я нахожу, что поиск в Google для запросов 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-битный вывод? Дальнейшее поиск по этой проблеме не принесло успеха, поэтому, если бы кто-нибудь смог убедиться, что я прав, и дать правильный способ сделать это, я был бы очень признателен!
Большое спасибо!