LINUX.ORG.RU

Кросс-компиляция: помогите!


0

0

Мне нужно откомпилировать программу для arm на x86. Я скачал исходники gcc 4.1.1 с gnuarm.org и успешно собрал по их инструкциям кросс-компилятор. Однако, при сборке им моей программы на c++, я получаю сообщения об ошибках вида:

[where_cross_compiler_installed]/lib/gcc/arm-elf/4.1.1/../../../../include/c++/4 .1.1/arm-elf/bits/ctype_base.h:46: error: ‘_U’ was not declared in this scope [where_cross_compiler_installed]/lib/gcc/arm-elf/4.1.1/../../../../include/c++/4 .1.1/arm-elf/bits/ctype_base.h:47: error: ‘_L’ was not declared in this scope [where_cross_compiler_installed]/lib/gcc/arm-elf/4.1.1/../../../../include/c++/4 .1.1/arm-elf/bits/ctype_base.h:48: error: ‘_U’ was not declared in this scope

и т. д.. Поискав гуглем, я обнаружил несколько аналогичных вопросов о кросс-компиляторах, но ответов на них (конечно же :-[ ) не было. Кстати, я пробовал также из бинарную сборку (gcc-3.4.3), но получалось то же самое. Есть у кого-нибудь хоть какие-нибудь соображения как это побороть? Я уже просто в тупике...

anonymous

Re: Кросс-компиляция: помогите!

Опять ЛОР со скобками косячит :/ Ошибки такие:

[where_cross_compiler_installed]/lib/gcc/arm-elf/4.1.1/../../../../include/c++/4 .1.1/arm-elf/bits/ctype_base.h:46: error: _U was not declared in this scope
[where_cross_compiler_installed]/lib/gcc/arm-elf/4.1.1/../../../../include/c++/4 .1.1/arm-elf/bits/ctype_base.h:47: error: _L was not declared in this scope [where_cross_compiler_installed]/lib/gcc/arm-elf/4.1.1/../../../../include/c++/4 .1.1/arm-elf/bits/ctype_base.h:48: error: _U was not declared in this scope

anonymous ()
Ответ на: Re: Кросс-компиляция: помогите! от vaborg

Re: Кросс-компиляция: помогите!

>Собирал через http://kegel.com/crosstool/ для мипсов - все работало. Попробуй.

Надо будет посмотреть, спасибо.

>Ну и ты, конечно, выставил все переменные? CC CXX LD etc?

Да, я использую autotools.

anonymous ()
Ответ на: Re: Кросс-компиляция: помогите! от anonymous

Re: Кросс-компиляция: помогите!

Ладно, нашел эти символы в [where_cross_compiler_installed]/arm-elf/include/ctype.h,
прописал их вручную (подключение этого заголовочного файла перед местом
возникновения ошибки почему-то приводило к другим ошибкам):

#define _U 01
#define _L 02
#define _N 04
#define _S 010
#define _P 020
#define _C 040
#define _X 0100
#define _B 0200

Все собралось.

Теперь проблема в том, что libtool на этапе configure говорит, что
не поддерживает shared libraries, а они мне обязательно нужны.
В результате, собираются только .a файлы. libtool используется
системный. Может для arm нужен свой libtool?

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.