https://github.com/visualboyadvance-m/visualboyadvance-m/blob/master/cmake/Toolchain-cross-m32.cmake
ите, что есть много похожих вопросов, но я нахожу, что поиск в 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-битный вывод? Дальнейшее поиск по этой проблеме не принесло никакого успеха, поэтому, если бы кто-нибудь смог убедиться, что я прав, и дать правильный способ сделать это, я был бы очень благодарен!
Большое спасибо!