Ik heb een probleem met het linken van een applicatie. Deze maakt gebruik van pthreads en dient te werken onder verschillende platformen. Zo moet er ook win32 dll van gemaakt worden. Deze bouwen we met mingw door middel van gcc 4.3.
Nu maken we gebruik van pthreads, en daar ligt precies het probleem. Ik heb netjes phtreads voor win32 gemaakt, h files in include path gezet, .a en dll staan gewoon naast de c file in de zelfde directory, maar helaas krijg ik hem niet gebouwd.
En zo gaat het nog wel even door met references naar pthreads...
Hiermee ga ik bouwen:
Volgens de documentatie van pthreads zou dit zo correct moeten zijn. Ik begrijp het dus niet. Ik heb al getracht .a en .dll in andere dirs te zetten, maar ook dat maakt niet uit.
Iemand enig idee
Nu maken we gebruik van pthreads, en daar ligt precies het probleem. Ik heb netjes phtreads voor win32 gemaakt, h files in include path gezet, .a en dll staan gewoon naast de c file in de zelfde directory, maar helaas krijg ik hem niet gebouwd.
... undefined reference to `_imp__pthread_mutex_lock'
En zo gaat het nog wel even door met references naar pthreads...
Hiermee ga ik bouwen:
gcc -O3 -march=pentium4 -mtune=pentium4 -static -fomit-frame-pointer -pipe -mfpmath=sse,387 -ffast-math -DBUILD_DLL -DWIN32 -o revgeocd.dll -shared -Wall -D_JNI_IMPLEMENTATION_ -Wl,--kill-at,--out-implib,librevgeocd.a -I "C:\Program Files\Java\jdk1.6.0_01\include" -I "C:\Program Files\Java\jdk1.6.0_01\include\win32" -I . -L . -lpthreadGC2 test.c
Volgens de documentatie van pthreads zou dit zo correct moeten zijn. Ik begrijp het dus niet. Ik heb al getracht .a en .dll in andere dirs te zetten, maar ook dat maakt niet uit.
Iemand enig idee
Do diamonds shine on the dark side of the moon :?