Задать вопрос
@kriptonus

Как выполнить кросс-компиляцию при помощи CMake?

Добрый день. Пытаюсь выполнить кросс-компиляцию NATS клиента под aarch64 (используется Cmake). Cmake отрабатывает, но при попытке сборки выдается ошибка с заголовочником openssl:
/usr/include/openssl/macros.h:14:10: fatal error: openssl/opensslconf.h: No such file or directory
   14 | #include <openssl/opensslconf.h>

Попытался устранить это дело при помощи симлинка на заголовочники из x86_64, компиляция проходит, но возникает ошибка на этапе линковки: линковщик пытается подключить существующую бибилиотеку и падает (оно и логично, библиотека под другую архитектуру. Собственно, вопрос в том, чтобы понять: как Cmake передать расположение библиотеки openssl под нужную архитектуру (я попытаюсь собрать openssl из исходников под aarch64).
В CMakeLists.txt модуль обнаруживается при помощи find_package(OpenSSL REQUIRED).
  • Вопрос задан
  • 52 просмотра
Подписаться 1 Средний 4 комментария
Пригласить эксперта
Ответы на вопрос 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
как Cmake передать расположение библиотеки openssl под нужную архитектуру (я попытаюсь собрать openssl из исходников под aarch64).
В CMakeLists.txt модуль обнаруживается при помощи find_package(OpenSSL REQUIRED).

С помощью переменной CMAKE_FIND_ROOT_PATH. Если последовательно идти этой дорожкой, в конце концов можно обнаружить себя собирающим sysroot для целевой системы.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы