使用make脚本有一个lib源代码。 http://svn.gna.org/svn/pokersource/branches/poker-eval-java/ 。 我需要为Windows构build它。 这应该是两个DLL。 主dll和第二个dll是jni-wrapper从java调用本地函数。 我使用这样的命令在linux下创build它:
autoreconf --install ./configure --enable-java make
它build成成功,工作正常。 但是现在我需要把它做成窗户。 我用GUI安装程序安装了MinGW,并将mingw \ bin添加到我的PATH中。 我运行相同的命令,但在make中有错误:
mv -f .deps/libpoker_eval_la-deck_std.Tpo .deps/libpoker_eval_la-deck_std.Plo /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../inclu de -I../include -Wall -Wpointer-arith -Wstrict-prototypes -g -O2 -MT libpoker_ eval_la-enumerate.lo -MD -MP -MF .deps/libpoker_eval_la-enumerate.Tpo -c -o libp oker_eval_la-enumerate.lo `test -f 'enumerate.c' || echo './'`enumerate.c libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../include -I../include -Wall -Wpoi nter-arith -Wstrict-prototypes -g -O2 -MT libpoker_eval_la-enumerate.lo -MD -MP -MF .deps/libpoker_eval_la-enumerate.Tpo -c enumerate.c -DDLL_EXPORT -DPIC -o . libs/libpoker_eval_la-enumerate.o enumerate.c: In function 'enumExhaustive': enumerate.c:415:5: error: 'intptr_t' undeclared (first use in this function) enumerate.c:415:5: note: each undeclared identifier is reported only once for ea ch function it appears in make[1]: *** [libpoker_eval_la-enumerate.lo] Error 1 make[1]: Leaving directory `/drive/eval/lib' make: *** [all-recursive] Error 1
完整的控制台日志在这里http://dl.dropbox.com/u/12053587/mylog.txt
你能帮我解决这个问题吗? 谢谢
你需要添加:
#include <stdint.h>
在enumerate.c文件中。 这会让你通过这个错误,但是很可能你必须把这行添加到多个文件中。