Ошибка CreateProcess =206, Eclipse CDT с компиляцией GCC ThreadX+GUIX

Когда я компилирую проект ThreadX+GUIX для eclipse CDT с помощью arm-none-eabi-gcc(Win7 64bit). Получилось «сделать (е =206)». Я обнаружил, что те же проблемы случаются почти при разработке JAVA, но их решения не работают для CDT. Вот информация об ошибке компиляции:введите здесь описание изображения. Я знаю, что причина в том, что GUIX имеет 1311 исходных файлов, а компиляция и ссылка Команда operation выходит за пределы командного лимита 8192. Я пытаюсь обновить eclipse и переместить мою рабочую область в корень диска, но ошибка все равно появляется. Теперь я не знаю, как решить эту проблему. Кто-нибудь, помогите мне

1 ответ

Решение

Если это не удается на этапе компоновщика / библиотекаря, я изменяю командную строку библиотекаря, чтобы использовать файл object_list.txt для подачи в список файлов объектов, а не указывать их все в командной строке. Так что-то вроде этого:

arm-elf-ar -r libguix.a @ .. / object_list.txt

Я использую скрипт python для создания object_list.txt из списка файлов .c, поэтому он выглядит так:

      ./common/src/gx_accordion_menu_create.o
./common/src/gx_accordion_menu_draw.o
./common/src/gx_accordion_menu_event_process.o
./common/src/gx_accordion_menu_position.o
./common/src/gx_animation_canvas_define.o
./common/src/gx_animation_complete.o
./common/src/gx_animation_create.o
./common/src/gx_animation_drag_disable.o

так далее...

В вашей eclipse IDE есть настройки для запуска вашей собственной командной строки компоновщика, а не для командной строки по умолчанию, которая не работает.

Сообщите мне, если это вам поможет.

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