Проект Eclipse Makefile будет построен в среде Cygwin - PullRequest
0 голосов
/ 28 января 2019

У нас есть проект (C) ( не проект Cygwin exe, но какой-то встроенный кросс-скомпилированный), в котором есть Makefile, предназначенный для использования из среды Cygwin.Это означает, что нужно открыть терминал Cygwin, перейти в каталог проекта и запустить оттуда make.

Я могу импортировать этот проект в Eclipse как проект Makefile, но, очевидно, обычную команду сборки изв Eclipse не будет работать, поскольку он пытается вызвать make в собственной (Windows) среде.Есть ли способ заставить Eclipse запустить Cygwin, вызвать в нем команду make и заставить работать обычные анализаторы ошибок CDT?Возможно, создав пользовательский конструктор?

1 Ответ

0 голосов
/ 28 января 2019

Мне удалось обойти эту проблему с помощью сценария сборки, вызывающего некоторые команды cygwin:

build.bat:

@echo off
c:\cygwin64\bin\bash --login -c "cd %cd:\=/%; make %*"

Разбивка:

c:\cygwin64\bin\bash --login -c "<command>" - используется для вызова команды из среды cygwin

cd %cd:\=/%; - это переменная "dos" %cd% (текущий путь) с обратными слешами, замененными косыми чертами - чтобы избежать ихбыть удаленным как неэкранированный.

make %* - вызвать команду cygwin make со всеми аргументами, передаваемыми в этот пакетный файл - это позволит Eclipse передать цель сборки и / или флаги сборки.

Теперь во вкладке «Сборка проекта» в Eclipse я заменяю команду make на build.bat, и она работает как чудо.Единственный недостаток - наличие этого файла в дополнение к другим файлам проекта, но, поскольку он довольно общий, его можно повторно использовать в любом проекте с этими ограничениями.

...