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