Jeg tror, jeg har fundet et svar.
Det ser ud til, at have_header
ser på systemet inkluderer stien. Hvis de relevante miljøvariabler ikke er indstillet, er standardinkluderingsstierne /usr/local/include
og /usr/include
.
Hvis du vil indstille dem manuelt, vil du gøre noget som:
export C_INCLUDE_PATH=/usr/include/mysql/
Det er sandt, selvom du kompilerer et C++-program, hvis header-filen er en C-fil. Hvis din header-fil på den anden side er C++, ikke C, ville du gøre:
export CPLUS_INCLUDE_PATH=/usr/include/mysql
Selvfølgelig fandt du løsningen, som er at inkludere dir_config('mysql')
i din extconf.rb
. Det giver dig mulighed for at bruge --with-mysql-include
mulighed og angiv stien manuelt.
Her er min kilde:http://www.network-theory.co .uk/docs/gccintro/gccintro_23.html
Og her er en mere generel version af det samme spørgsmål (med svar):Hvordan tilføjer man en standard include-sti til gcc i linux?