A maneira correta de forçar uma compilação de 32 bits usando CMake

Desculpe, pois existem muitas perguntas semelhantes, mas acho que as consultas do Google para CMake sempre produzem cenários semelhantes, mas não o mesmo, comandos conflitantes do CMake e assim por diant

Preciso forçar meu projeto a criar binários de 32 bits porque tenho que vincular a uma biblioteca que está disponível apenas como 32 bits. Diagnosticei isso com base em mensagens de erro como:

/usr/bin/ld: i386 architecture of input file `*external-32bit-lib*' is incompatible with i386:x86-64 output

Pelo que eu recolho, devo usar:

set (CMAKE_CXX_FLAGS "-m32")

Isso muda as coisas - agora recebo vários erros como:

/usr/bin/ld: i386 architecture of input file `*project-output-lib*' is incompatible with i386:x86-64 output

@AND ainda recebe os mesmos erros para a biblioteca externa também. EUpensa é porque o-m32 fez o gcc gerar binários de 32 bits, mas o ld ainda está tentando obter uma saída de 64 bits? Pesquisando mais sobre esse problema no Google não deu certo, por isso, se alguém pudesse verificar se estou certo e dar a maneira correta de fazer isso, ficaria muito grato!

Muito Obrigado

questionAnswers(6)

yourAnswerToTheQuestion