Сборка библиотеки Linux для Windows с MinGW - PullRequest
3 голосов
/ 30 марта 2011

Есть исходники lib для linux со скриптами make. http://svn.gna.org/svn/pokersource/branches/poker-eval-java/. Мне нужно построить его для Windows. Должно быть два dll. Основная dll и вторая dll - это jni-wrapper для вызова нативных функций из java. Я построил его под Linux с такими командами:

autoreconf --install
./configure --enable-java
make

Он был успешно построен и работает нормально. Но теперь мне нужно сделать это для Windows. Я установил 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

Не могли бы вы помочь мне решить проблему? Спасибо

1 Ответ

2 голосов
/ 30 марта 2011

нужно добавить:

#include <stdint.h>

в файле enumerate.c. Это избавит вас от этой ошибки, но, скорее всего, вам придется добавить эту строку в несколько файлов.

...