Linux lib / include организация для кросс-скомпилированных библиотек?

Мы кросс-компилируем приложение для целевой встраиваемой Linux под настольную Linux. Для тестирования и других целей мы используем статически связанные библиотеки с нашим приложением. Используемая нами библиотека тестирования - CMockery.

Мой вопрос: где должны жить статические библиотеки и включаемые файлы для CMockery, учитывая, что мы выполняем кросс-компиляцию?

Если бы мы не выполняли кросс-компиляцию, то должен войти в / usr / local / lib.

Некоторые предложения от нашей команды:

  • / opt / google / lib и / opt / google / include
  • / opt / встроенныйLinuxDistro / usr / local / share / google / lib (и включить)
  • / usr / local / арка / lib (и включить)

    Любые указатели приветствуются!
  • Стоит ли изучать PHP в 2026-2027 годах?
    Стоит ли изучать PHP в 2026-2027 годах?
    Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
    Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
    Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
    В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
    Приемы CSS-макетирования - floats и Flexbox
    Приемы CSS-макетирования - floats и Flexbox
    Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
    Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
    В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
    Концепция локализации и ее применение в приложениях React ⚡️
    Концепция локализации и ее применение в приложениях React ⚡️
    Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
    Пользовательский скаляр GraphQL
    Пользовательский скаляр GraphQL
    Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
    2
    0
    508
    1
    Перейти к ответу Данный вопрос помечен как решенный

    Ответы 1

    Ответ принят как подходящий

    Примечание: после написания этого ответа мое резюме будет следующим:

    Keep anything that is non-standard to the Linux distro you're using separate. In fact keep files for different projects separate even if they share libraries. This will make it much easier to move your files to another machine, to setup multiple complete builds for testing, and most importantly to be able to recreate the build starting from scratch.


    Решение действительно субъективное.

    • Вам просто нужна одна копия библиотеки для всех пользователей?
    • Меняется редко?
    • Если ваша машина сборки загорелась, и у вас не было резервных копий этой машины, насколько быстро и легко вы могли бы воссоздать свою среду библиотек и кросс-компиляторов?

    Я задаю эти вопросы, потому что, если библиотека часто меняется или разные пользователи могут нуждаться в разных версиях, лучше, чтобы она была переносимой. То есть вы можете указать в своей сборке, где искать файлы.

    Из предложений вашей команды я бы предпочел путь, содержащий ссылку на ваш проект. Это упростит воспроизведение всего через год (когда кто-то попросит вас настроить другую машину сборки).

    Наконец, я бы не стал беспокоиться о попытках придерживаться «стандартных» расположений библиотек, потому что вы не создаете и не управляете дистрибутивом Linux. Более того, большинство людей на самом деле не знают ничего, кроме "/ usr / lib" и / usr / local / lib ", и даже люди, которые их знают, не знают разницы.

    Делайте то, что лучше всего для вашего проекта, независимо от того, что это может быть.

    Здорово! Спасибо за продуманный ответ.

    Peter K. 31.12.2008 19:05

    Другие вопросы по теме