Ошибка ncurses В Yocto SDK не найден файл iostream.h do_populate - PullRequest
0 голосов
/ 01 апреля 2020

Я новичок как в Linux, так и в проекте Yocto. В настоящее время я пытаюсь создать собственный образ для доски минноу. Мне удалось создать образ для доски, используя битовый тест

Однако, когда я выполняю битовый тест - c do_populate_sdk, я сталкиваюсь с проблемами компиляции в ncurses:

../../../git/c++/cursespad.cc -o ../obj_s/cursespad.o
| In file included from ../../../git/c++/cursesw.h:40,
|                  from ../../../git/c++/cursesp.h:39,
|                  from ../../../git/c++/cursesm.h:39,
|                  from ../../../git/c++/cursesm.cc:35:
| ../c++/etip.h:341:15: fatal error: iostream.h: No such file or directory
 341 | #     include <iostream.h>

Не уверен где я иду не так. Любая помощь будет оценена, учитывая, что я новичок. Я не понимаю, почему я должен столкнуться с ошибками компиляции при создании SDK, после того, как полный образ был успешно собран

Я использую poky-zeus-22.0.2. Содержит ncurses версии 6.1 + 20190803-r0

1 Ответ

0 голосов
/ 02 апреля 2020

Оказывается, проблема в том, что описано в https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70129

Проблема связана с тем, что -I и -isystem имеют одинаковый путь

Проблема (и еще одна связанная проблема stdlib.h не найдена) были решены после того, как я изменил следующее в bitbake.conf:

BUILDSDK_CPPFLAGS = "-isystem $ {STAGING_INCDIR}" на BUILDSDK_CPPFLAGS = ""

...