PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : AC_CHECK_LIB Macro bzw. einbinden einer Bibliothek mit autoconf/automake



Hampelmann
15-09-2005, 09:32
Hallo zusammen,

ich möchte ein autoconf/automake basiertes Projekt erweitern. Hierbei nutze ich die Hawk Voice library (http://www.hawksoft.com/hawkvoice/). Diese enthält die Funktion hvdiNewEncState(). Nun möchte ich meine Klassen gegen die Bibliothek linken. Ich dachte daran an folgendes in configure.ac:

AC_CHECK_LIB(HVDI,hvdiNewEncState)
Das scheint zu funktionieren, schließlich sagt mir configure

checking for hvdiNewEncState in -lHVDI... yes
Meine CPP Dateien sind mit folgendem gekapselt


#ifdef HAVE_LIBHVDI
...
...
...
#else
#warning "No HAVE_LIBHVDI"
#endif

Diese Variable sollte gemäß der Beschreibung des Macros unter http://sources.redhat.com/autobook/autobook/autobook_283.html#SEC283 und http://www.gnu.org/software/autoconf/manual/autoconf-2.57/html_mono/autoconf.html beim finden der Bibliothek bzw. Funktion gesetzt sein.
Ich bekomme nun beim make immer die Warnung


warning: #warning "No HAVE_LIBHVDI"

Was nicht meinen Erwartungen entspricht. Wenn ichs richtig gecheckt habe, sollte diese Preprozessorvariable auch beim compilieren via Makefile an den gcc übergeben werden. Per -D Kommandozeilenoption, in diesem Fall also -DHAVE_LIBHVDI. Wo ist der Denkfehler? Kann mir bitte jemand weiterhelfen?

Ciao,

Timo