Я пытаюсь кросс-компилировать пакет libubox для цели на основе ARM, но это должен быть cmake, с которым я когда-либо встречался. После нескольких дней работы с Google я все еще не знаю, как его собрать.
libubox зависит от json - c, но после успешного завершения сборки моего пакета json - c .so (lib json - c .so ) установлены в ".lib", а не в $ (STAGING_DIR) или $ (TARGET_DIR) в моем случае.
при использовании libubox при попытке связать с lib json - c .so *, PATH будет "-I / usr / local / include" и "-I / usr / local / include / json - c", скорее чем от $ (STAGING_DIR).
как я могу указать аргументы -I и -L для g cc для json - c lib, что привело к успеху в "json - c -xxx / .lib / json - c .so "?
введите описание изображения здесь
В моей настройке нет SDK, у меня есть только перекрестный набор инструментов и json - c и загружен пакет libubox.
Набор инструментов: /home/hhu/customer/ctc_sdn/toolchains/crosstools-arm-gcc-5.5-linux-4.1-glibc -2.26-binutils-2.28.1
Пакеты: /home/hhu/customer/ctc_sdn/dl/xxx.tar.gz Build_Dir: / home / hhu / customer / ctc_sdn / build_dir /
Я пишу простой Makefile для запуска сборки, как показано ниже: / home / hhu / customer / ctc_sdn / Makefile:
введите описание изображения здесь введите описание изображения здесь
Я использую здесь "target_dir" как $ (STAGING_DIR), так и $ (TARGET_DIR)
вопросов
где определить MACRO это где libubox найти lib json - c .so? 1. здесь введите описание ссылки здесь Я пытался добавить стандартный CMAKE_XX в CMakeLists.txt, но все еще есть проблемы.
Также я попытался добавить следующие две строки в CMakeLists.txt, но все еще не работает. include_directories ("/ home / hhu / customer / ctc_sdn / build_dir / json - c -0.12.1") link_directories ("/ home / hhu / customer / ctc_sdn / build_dir / json - c -0.12 .1 / .lib ")