Поиск:

Ответ в темуСоздание новой темы Создание опроса
> MinGW помогите собрать либу 
V
    Опции темы
Temdegon
Дата 30.3.2011, 03:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 11.10.2008
Где: Minsk

Репутация: нет
Всего: 9



Есть native-либа
http://svn.gna.org/svn/pokersource/branches/poker-eval-java/
c оберткой для вызова из java. Должно получиться две dll: одна основная, вторая - jni-прослойка для Java.
Нужно скомпилить ее под windows.
Повозился с cygwin, в результате dll-ки и jar-ки собрались.
Но при попытке вызова метода из java-кода, виртуальная машина умирает, даже пикнуть об ошибке не успев. dll-ки java находит 100% - когда не находила она выдавала внятные сообщнения. 
Перелопатил инет про эту либу, но инфы очень мало, про сборку под винь ее еще меньше, а про сборку с jni-оберткой вобще пара постов. Но все что находил - собирали с помощью MinGW, а не Cygwin.
Что бы окончательно убедиться, собрал все эти радости под linux. Все отлично работает!
Решил попробовать собрать в MinGW. я совсем не знаком с ним (как и с make, c++ и linux).
Поставил через вот этот инсталлер
добавил mingw\bin в  PATH.
собираю:
autoreconf --install
./configure
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

Подскажите пожалуйста, как собрать эту либу. smile 
Спасибо!
PM MAIL   Вверх
Temdegon
Дата 30.3.2011, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 11.10.2008
Где: Minsk

Репутация: нет
Всего: 9



Добавил
#include <stdint.h>
в enumerate.c и все собралось и отлично работает!
Странно, почему без этого компилиось из линукса и cygwin smile 
PM MAIL   Вверх
bsa
Дата 22.4.2011, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 4
Всего: 196



скорее всего, версия libc другая - там этот хидер включается из другого стандартного хидера.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | GNU toolchain | Следующая тема »


 




[ Время генерации скрипта: 0.0667 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.