Как настроить $ (shell) с помощью GNU MCU Eclipse - PullRequest
0 голосов
/ 26 марта 2020

Я пытаюсь заставить мою рабочую среду сборки ноутбука работать на моем доме P C. (Работая дома несколько месяцев, вы только догадались, почему).

Использование GNU MCU Eclipse. Я установил ту же версию на своем домашнем компьютере, что и в конце 2018 года, на своей рабочей машине. Проект, над которым я работаю, использует внешний make-файл для сборки для цели ARM (SAM4L). Ясно, что был шаг, который я сделал тогда, я забыл на этот раз.

У меня на обоих компьютерах установлены одинаковые инструменты сборки, набор инструментов и версия Eclipse (хотя и в немного разных местах). На обеих машинах «где make.exe» и «где sh .exe» в командной строке windows находят исполняемые файлы в Windows средствах сборки.

Моя рабочая машина успешно собирается, но моя домашняя машина застревает с вызовами $ (shell ...) внутри make-файла.

Первая строка, которая доставляет мне неприятности:

DATE := $(shell date +%Y%m%d)

Вывод консоли:

process_begin: CreateProcess(NULL, date +%Y%m%d, ...) failed.
make: Makefile:26: pipe: No error

Аналогичные ошибки возникают при последующих вызовах $ (shell uname), например:

os_type         ?= $(strip $(shell uname))

ifeq ($(os_type),windows32)
os              := Windows

выдает ошибку:

process_begin: CreateProcess(NULL, uname, ...) failed.
make[1]: ../../../thirdparty/asf/sam/utils/make/Makefile.sam.in:105: pipe: No error

Единственное другое отличие состоит в том, что моя рабочая машина есть другая установка MinGW / msys с отдельным sh и make, но они не по моему пути Windows. Тем не менее, возможно, что они используются Eclipse, но я не понимаю как. Я провел большую часть дня, просматривая конфигурацию на обеих машинах (Project-> properties), и я не вижу разницы.

[Edit] - Я только что подтвердил, что обе установки вызывают Make это есть в инструментах Windows Build, и оба имеют одинаковую версию. (и не то же самое, что другие инструменты в инструментах сборки из сборки busybox)

~/eclipse/GNU MCU Eclipse/Build Tools/2.11-20180428-1604/bin $ ./make --version
GNU Make 4.2.1
Built for x86_64-w64-mingw32
Copyright (C) 1988-2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

Любое руководство ??

1 Ответ

0 голосов
/ 27 марта 2020

ОК, легко, когда вы это видите.

У меня не было команды date или uname в моих инструментах сборки. Поскольку инструменты сборки основаны на BusyBox, мне просто нужно скопировать busybox.exe в date.exe и uname.exe, чтобы обеспечить необходимые функции. (также необходима команда test). Очевидно, я работал это 18 месяцев go. Я написал инструкцию для c в следующий раз :-).

C:\...\GNU MCU Eclipse\Build Tools\2.11-20180428-1604\bin>sh -c "cp busybox.exe date.exe"
C:\...\GNU MCU Eclipse\Build Tools\2.11-20180428-1604\bin>sh -c "cp busybox.exe uname.exe"
C:\...\GNU MCU Eclipse\Build Tools\2.11-20180428-1604\bin>sh -c "cp busybox.exe test.exe"

Надеюсь, это поможет кому-то в будущем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...