2016-03-24 19 views
0

ile dosya dahil edilemiyor Basit bir makefile ve gcc (Windows 10 ile MinGW) ile bir sorunla karşı karşıya.make ve MinGW

gcc -c -o lowlevelAccess.o lowlevelAccess.c 
lowlevelAccess.c:7:17: fatal error: jni.h: No such file or directory 
#include <jni.h> 
      ^
compilation terminated. 
make: *** [lowlevelAccess.o] Error 1 

Yanlış olan ne: Bu

IJNI=-I"C:\Program Files (x86)\Java\jdk1.7.0_79\include" 
IJNIWIN32=-I"C:\Program Files (x86)\Java\jdk1.7.0_79\include/win32" 
CC=gcc 

default: main 

main: lowlevelAccess.o 
    $(CC) $(IJNI) $(IJNIWIN32) -c lowlevelAccess -o lowlevelAccess.o 

zaman başlatmak promp yapmak bir komutundan, ben elde benim basit makefile nedir? Teşekkür ederiz!

cevap

1

lowlevelAccess.o derlemesine -I bayraklarını eklemiyorsunuz ancak buna gereksinim duyan kural budur (şimdi sahip olduğunuz bağlantı kuralı değil).

Makefileinize CFLAGS += $(IJNI) $(IJNIWIN32) eklemeye çalışın (muhtemelen CPPFLAGS kullanın, bunun teknik açıdan daha doğru olduğu konusunda emin değilim). Bu değişkenlerin ne olduğunu ve bu değişkenleri kullanan varsayılan kuralların neye benzediğini görmek için Catalogue of Built-In Rules (veya make -qp çıktısı) için Variables Used by Implicit Rules konusuna bakın..

+0

Teşekkürler Etan, çok açık ve kullanışlı! – robyg72