Я хочу скомпилить одну библиотечку под виндой (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-библиотеку?
Спасибо
Как минимум cygwin1.dll депендант как мне вспоминается.
Также вспоминается, что собрать приложение/библиотеку без этой длл нельзя, если юзается cygwin api.
Можно пробовать -mno-cygwin флаг, возможно -static пригодится. Но результат почти предсказуем.
установил mingw, скомпилил dll, работает, СПАСИБО!
только вот ну и размеры у них - 800K библиотека при 50К исходников. И чего интересно она туда налинковала столько?