這個問題在我寫 Makefile 時, 設定 JDKRoot 時遭遇到了.
其實答案很簡單, 直接設定:
/c/Program\ Files/Java/jdk1.5.0_15/
注意: 空白前面要加反斜線(\), 特別標明.
於是我的 Makefile 就可以寫成下面這樣, 然後在 MSYS 裡面處理我想作的事情了. ^_^
-------------- Makefile ----------------
JAVASRC = $(shell ls *.java)
all: compile jni
jni: FrameSync_japi.java
javah -jni FrameSync_japi
cl -I${JDKROOT}/include
-I${JDKROOT}/include/win32 -I${VCROOT}include \
-I${VCROOT}PlatformSDK/Include \
-D"_UNICODE" -D"UNICODE" \
-LD FrameSync_api.cpp User32.lib\
-FeFrameSync_api.dll
compile:$(JAVASRC)
javac $(JAVASRC)
clean:
rm -fr *.class *.obj *.dll *.lib *.exp *.pdb
cd FrameSync_api;$(MAKE) clean
-------------- end of Makefile ----------------
Enjoy.
by Jing.