Страница 1 из 1

как создать dll из cygwin-a?

Добавлено: 17 янв 2006, 17:39
Country boy
Я хочу скомпилить одну библиотечку под виндой (c-шная реализация нескольких методов для использования из явы через jni). Очень не хочу маяться с visual c, всякими там stdafx.h и прочим барахлом. Просто создать dll. Я скачал себе cygwin и собрал ее так:
gcc -c --D__int64="long long" -I%CYGWIN_HOME%/usr/include -I%CYGWIN_HOME%/usr/java/include -I%CYGWIN_HOME%/usr/java/include/win32 library.c
dllwrap --add-stdcall-alias -o library.dll library.o

Она собралась, но когда я ее загрузил из явы, она кинула ексепшн:
Unable to load library "library": library.dll: Can't find dependent libraries

Какие там dependent libraries? Как ей сказать, чтобы она собирала standalone-библиотеку?
Спасибо

Добавлено: 17 янв 2006, 18:18
Foxx
Как минимум cygwin1.dll депендант как мне вспоминается.
Также вспоминается, что собрать приложение/библиотеку без этой длл нельзя, если юзается cygwin api.
Можно пробовать -mno-cygwin флаг, возможно -static пригодится. Но результат почти предсказуем.

Добавлено: 17 янв 2006, 18:19
Llama
Country boy, standalone полагаю в cygwin - никак, попробуйтек mingw - авось получится....

Добавлено: 17 янв 2006, 19:23
Country boy
установил mingw, скомпилил dll, работает, СПАСИБО!
только вот ну и размеры у них - 800K библиотека при 50К исходников. И чего интересно она туда налинковала столько?

Добавлено: 18 янв 2006, 11:54
Foxx
Country boy, поstripай && поupxай ее, размер уменьшится, если он важен.