Как мне написать bash-файл для запуска gcc из другого каталога? - PullRequest
0 голосов
/ 25 сентября 2019

Я хочу запускать target-c под GNU через Windows.Скажем, я хочу скомпилировать hello.m, сохраненный в GNUstep/myfolder/, в то время как компилятор gcc.exe хранится в GNUstep/bin/.

По пути GNUstep/myfolder/ я написал такой файл:

#!/bin/bash

if [ $# -ne 1 ]; then
echo "Usage: $0 name"
exit 1
fi


../../mingw/bin/gcc.exe -o $i $i.m \
-fconstant-string-class=NSConstantString \
-I ../../GNUstep/System/Library/Headers/ \
-L ../../GNUstep/System/Library/Libraries/ \
-lobjc -fobjc-exceptions -lgnustep-base \
-enable-auto-import 

exit 0

И я делаю файл исполняемым, используя chmod u+x;Затем я делаю $ sh run.sh hello и получаю вывод в виде

F:/GNU/GNUstep/mingw/bin/../lib/gcc/mingw32/3.4.5/../../../libmingw32.a(main.o):main.c:(.text+0xbd): undefined reference to `_WinMain@16'
collect2: ld returned 1 exit status

Но если я наберу основной текст, записанный в файле bash, hello.m может быть скомпилирован.

Как мне это сделать?компилировать без ввода сумасшедшего длинного предложения каждый раз?

...