С программа не запускается на buildroot - PullRequest
1 голос
/ 03 апреля 2019

Я работаю на buildroot. Моя цель - работа с графическим интерфейсом на моем buildroot с Gtk3.0 и Gstreamer1.0. Я использую Olinuxino A13, поэтому я написал код GUI (пример Gtk3.0 hello world) с кодовыми блоками. Я использую Debian Wheezy. Я хочу перенести этот код из Debian wheezy в buildroot.

Я пробовал это :

  1. Я передал /path_to_proectfile/bin/Debug/my_program.my_program, созданный кодовыми блоками. Я написал ./my_program на терминале и код работает. Я перенес этот файл в свой buildroot, но ./my_program не работает. Возвращает No such file or directory ошибка.

  2. Я подумал, что проблема может быть в компиляции, и попытался скомпилировать на терминале. Я использую gcc -o my_program main.c 'pkg-config --cflags --libs gtk+-3.0', снова работаю на терминале Debian wheezy. После того как я перешел на buildroot но результат не меняется. Я пробовал разные типы компиляции, такие как cc, arm-linux-gnueabi-gcc и т. Д., Но каждый раз No such file or directory ошибка.

Наконец, когда я не использую библиотеку gtk (просто используйте printf Hello World), я увидел Hello world. При добавлении библиотеки gtk возвращается No such file or directory ошибка. Есть ли у вас предложения?

1 Ответ

2 голосов
/ 03 апреля 2019

Вам необходимо выполнить кросс-компиляцию вашей программы с помощью соответствующего набора инструментов buildroot.Похоже, вы передали двоичный файл, который был собран с другой библиотекой libc (это приводит к ошибке «Нет такого файла или каталога»).

Кросс-компилятор buildroot с правильной библиотекой libc можно использовать, установив CC в"path_to_buildroot_output/host/bin/arm-linux-*-gcc" (точное имя зависит от того, какие опции набора инструментов вы выбрали).

...