Я хочу запускать 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
может быть скомпилирован.
Как мне это сделать?компилировать без ввода сумасшедшего длинного предложения каждый раз?