я разобрался, компилировать он хочет только одним способом. Вот он:
1) Пишем makefile и помещаем его в папку home
2) Его содержимое:
CC=gcc
CFLAGS=`pkg-config --cflags --libs gtk+-2.0`
CFLAGS+=-mwindows
SRC=name.c
OBJ=$(SRC:.c=.o)
OUT=name.exe
all: $(OUT)
rm $(OBJ) #Remove .o
$(OBJ) :
$(CC) $(SRC) $(CFLAGS) -c #Create .o
$(OUT) : $(OBJ)
$(CC) $(OBJ) $(CFLAGS) -o $@ #Link .o
3) В msys.bat пишем make и все работает
И делается это только так. Файл становится зависимым от dll библиотек из папки bin и без них не запускается.
Т.е. теперь надо их всегда складывать в папку к моей программе или можно от этого как-нибудь избавиться?)
И еще интересно почему не сработал обычный способ компиляции gcc name.c `pkg-config --cflags --libs gtk+-2.0`?