64 ビット Windows で Cygwin 内から C コードをコンパイルし、いくつかのパラメーターを使用して実行可能ファイルを呼び出そうとしています。コンパイルはうまくいきます (Makefile は以下にあります)。しかし、実行可能ファイルを実行すると、エラーが発生しますcannot execute binary file
。
実際にバイナリが Linux 用にビルドされていることを簡単に示します。
ELF 64 ビット LSB 実行可能ファイル、x86-64、バージョン 1 (SYSV)、動的にリンク (共有ライブラリを使用)、GNU/Linux 2.6.24 用、BuildID[sha1]=0x7d39e30cb249d2047815de23a9df33fccf91a58f、ストリップなし
Makefile を変更して、Windows 用にコンパイルするにはどうすればよいですか?
これがメイクファイルです
.SUFFIXES: .c .u
CC= gcc
CFLAGS = -g -Wall -O3 -DHAVE_INLINE -DGSL_RANGE_CHECK_OFF
# LDFLAGS = -lm -lgsl -latlas -lgslcblas
LDFLAGS = -lm -lgsl -lgslcblas
# LDFLAGS = -lm -lgsl -latlas -lcblas
LOBJECTS= a.o b.o c.o
LSOURCE= a.c b.c c.c
windows: $(LOBJECTS)
$(CC) $(LOBJECTS) -o stm $(LDFLAGS)
clean:
-rm -f *.o