Я использую g cc + cmake в Linux 64 битах, и моя цель компиляции составляет Linux 32 бит.
Поэтому я добавил -m32
to my CMAKE_C_FLAGS .
Но тогда cmake завершается ошибкой с сообщением: The C compiler "/usr/bin/gcc" is not able to compile a simple test program.
Конечно, это потому, что 32бит исполняемый файл не может работать на 64-битной арке.
Я заглянул на страницу cmake для кросс-компиляции , но она мне кажется очень сложной.
Итак, мой вопрос: есть ли способ просто собрать 32-битный двоичный файл (exe или lib), используя cmake ?
Для информации, вот что я попытался с помощью переменной окружения:
- Добавить
`${myflag}`
к CMAKE_C_FLAGS - Установить myflag на пустое значение.
- Вызвать cmake для создания make-файл (чтобы он успешно проверил компилятор)
- Установите myflag на
-m32
. - Вызовите make (поэтому он будет скомпилирован с опция -m32
Но похоже, что g cc не оценивает переменные среды пользователя.