Кросс-компиляция

Мы используем eclipse как для Windows, так и для Linux на ПК для программирования на C /C ++ для Raspberry Pi, поскольку редактор geany слишком вялый для нас, работающих с самим RPi. Теперь мы начинаем сталкиваться с перекрестной компиляцией при использовании таких библиотек, как GTK +, mySQL и т. Д., Где компилятору необходимо использовать двоичные файлы библиотеки, но не являющиеся частью перекрестных компиляторов. Одно из решений, которое мы нашли, - это просто выследить отдельные файлы, которые компилятор хочет в RPI, и скопировать их в библиотеку, включая каталог на Windows или Linux. Он работал до сих пор, поэтому мне интересно, есть ли простое решение, просто скопировав все библиотечные каталоги на ПК и избегая необходимости находить эти отдельные файлы в RPi, а также удалять будущие проблемы с бинарниками библиотек, изменяющимися после обновлений библиотек , Я не эксперт по кросс-компиляции, но может ли кто-нибудь увидеть проблему с этим подходом и может ли кто-нибудь порекомендовать каталоги из RPi для копирования?

Я полагаю, что альтернативой было бы найти способ запуска какого-то NAS-сервера на RPi, чтобы он мог отображаться как сетевой диск на ПК, чтобы вообще удалить операцию копирования библиотек - кто-нибудь сделал это ? Перемещение на такие инструменты, как Scratchbox и Buildroot, кажется мне более сложным, но, возможно, мне не хватает чего-то, что означает, что они необходимы?

Большое спасибо Адам

6 голосов | спросил Adam 25 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowWed, 25 Sep 2013 11:20:12 +0400 2013, 11:20:12

1 ответ


2

Компилятор ищет внешние файлы (я предполагаю, что включает библиотеки amd), чтобы проверить, что вызовы функций, которые вы им делаете, действительны. Первые необходимы. Последний является частью компилятора, который делает все возможное, чтобы убедиться, что программа будет работать так, что если она не удастся, это ошибка пользователя. Вы можете скопировать все файлы, необходимые за один раз, а затем вручную указать с помощью gcc (и ld) -I и -L каталогов поиска для файлов. Что касается того, какие каталоги для копирования, я бы предложил по крайней мере /usr /include, /lib и /usr /lib. Могут быть и другие, но они содержат большую часть материала. Имейте в виду, что для установки ссылок на большинство библиотек необходимо установить пакеты -dev, поскольку они содержат необходимые файлы .a.

ответил Fred 4 MaramTue, 04 Mar 2014 02:42:11 +04002014-03-04T02:42:11+04:0002 2014, 02:42:11

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132