Кросс-компиляция CMake: как связать библиотеки в зависимости от целевой архитектуры - PullRequest
0 голосов
/ 04 февраля 2020

Я новичок в cmake. Я хочу построить свой проект для архитектуры x86 и arm (на машине x64). Я установил два файла набора инструментов: x86.cmake и arm.cmake , с путями к компиляторам. Мой проект использует мои собственные предварительно скомпилированные библиотеки, которые лежат по-разному для x86 и arm. Итак, вопрос в том, как связать эти библиотеки в зависимости от целевой архитектуры?

Способ, который я вижу сейчас, установлен set(CMAKE_SYSTEM_PROCESSOR arm) в arm.cmake toolchain и set(CMAKE_SYSTEM_PROCESSOR x86) для x86.cmake toolchain и затем в зависимости от этой переменной выберите правильные пути библиотек.

Это правильный путь?

1 Ответ

0 голосов
/ 05 февраля 2020

Обычно библиотеки, необходимые для связи с, ищутся с помощью команды find_library . Эта команда использует несколько подсказок, которые можно установить в файле цепочки инструментов. Например:

Итак, результат find_library может отличаться для разных используемых цепочек инструментов.

...