Cygwin에서 64 비트 Windows에서 일부 C 코드를 컴파일하고 일부 매개 변수를 사용하여 실행 파일을 호출하려고합니다. 컴파일은 잘 진행됩니다 (Makefile은 아래에 있습니다). 그러나 실행 파일을 실행할 때 오류 cannot execute binary file
이 표시됩니다.bash : 바이너리 파일을 실행할 수 없습니다.
실제로 바이너리가 Linux 용으로 제작되었다는 것을 빨리 보여줍니다.
ELF 64 비트 LSB 실행, - 64, 버전 1 (SYSV) 동적 링크 (공유 libs와 용도), GNU/리눅스 2.6.24 들어 BuildID [SHA1 = 0x7d39e30cb249d2047815de23a9df33fccf91a58f, 박리하지
어떻게 Windows 용으로 컴파일되도록 Makefile을 변경할 수 있습니까?
여기
.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
아, 그 마지막 비트가 명확 해집니다. – tchakravarty
Windows에서 GCC를 사용하려면 [MinGW] (http://www.mingw.org/)를 시도하십시오. – Kninnug
또는 MinGW 포크 [MinGW-w64] (http://mingw-w64.sourceforge.net/)도 64 비트를 지원합니다. – ollo