Questa è la prima volta che cerco di compilare il codice FORTRAN utilizzando un makefile. Il sistema operativo è Ubuntu 12.04 LTS a 64 bit. Ho incontrato i seguenti errori:"/ usr/bin/ld: impossibile trovare la libreria"
gfortran -o przm3123.exe canopy.o chem.o cnfuns.o cropdate.o datemod.o debug.o debug_cn.o f2kcli.o floatcmp.o furrow.o general.o i_errchk.o infnan.o inivar.o ioluns.o iosubs.o lambertw.o m_readvars.o utils.o wind.o fcscnc.o przm3.o rsexec.o rsinp1.o rsinp2.o rsinp3.o rsmcar.o rsmisc.o rsprz1.o rsprz2.o rsprz3.o rsprzn.o rsutil.o rsvado.o -L ../libanne4.0/lib -lwdm -ladwdm -lutil
/usr/bin/ld: cannot find -lwdm
/usr/bin/ld: cannot find -ladwdm
collect2: ld returned 1 exit status
make: *** [przm3123.exe] Error 1
L'elemento chiave nel makefile è:
przm2_LIBS = -L ../libanne4.0/lib -lwdm -ladwdm -lutil
C'è qualcosa che posso fare per correggere questo errore? Dovrei provare altri compilatori?
La prima cosa da controllare è se effettivamente si hanno 'libwdm.so' e' libadwdm.so'. Suppongo che dovrebbero essere in questa directory 'libanne4.0/lib'. – birryree
Sì, 'libwdm.a' e' libadwdm.a' ci sono. –
Oh, librerie statiche. Puoi provare questo nel tuo makefile? 'przm2_LIBS = -L ../ libanne4.0/lib -Wl, -Bdynamic -lutil -Wl, -Bstatic -lwdm -ladwdm' - Suppongo che' util' sia 'libutil.so' (una libreria condivisa) poiché non ha Mi lamento di questo. – birryree