[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

кросскомпиляция mingw32 на Debian



вот такой тестик:


dwork:[/home/dimka/test]$ cat Makefile 
GCC		=	gcc
MINGW		=	i586-mingw32msvc-gcc

TARGET		=	test


SRC 		= $(wildcard *.c)

OBJGCC		= $(SRC:%.c=%.o)
OBJMINGW	= $(SRC:%.c=%.obj)


all: $(TARGET) $(TARGET).exe

clean:
	@rm -f $(wildcard *.o *.obj)

%.o: %.c Makefile
	$(GCC) -c $< -o $@
	
%.obj: %.c Makefile
	$(MINGW) -c $< -o $@

$(TARGET): $(OBJGCC)
	$(GCC) $(OBJGCC) -o $@

$(TARGET).exe: $(OBJMINGW)
	$(MINGW) $(OBJMINGW) -o $@

.PHONY: all clean

dwork:[/home/dimka/test]$ cat main.c 
#include <stdio.h>

int main(int argc, char ** argv)
{
  long long a=300, b=400;

  printf("a=%lld b=%lld\n", a, b);
}
  
dwork:[/home/dimka/test]$ make
gcc -c main.c -o main.o
gcc main.o -o test
i586-mingw32msvc-gcc -c main.c -o main.obj
i586-mingw32msvc-gcc main.obj -o test.exe

dwork:[/home/dimka/test]$ ./test
a=300 b=400
~~~~~~~~~~~

dwork:[/home/dimka/test]$ ls
main.c  main.o  main.obj  Makefile  test  test.exe

а запустив test.exe в венде получаем:
test.exe
a=300 b=0
~~~~~~~~~

это бага, фича или я опять какую-то глупость сглупил?



Reply to: