кросскомпиляция 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: