Ik geloof dat ik een antwoord heb gevonden.
Het lijkt erop dat have_header
kijkt naar het systeem inclusief pad. Als de relevante omgevingsvariabelen niet zijn ingesteld, zijn de standaard include-paden /usr/local/include
en /usr/include
.
Als je ze handmatig wilt instellen, doe je zoiets als:
export C_INCLUDE_PATH=/usr/include/mysql/
Dat is waar, zelfs als u een C++-programma compileert, als het headerbestand een C-bestand is. Als uw headerbestand daarentegen C++ is en niet C, doet u het volgende:
export CPLUS_INCLUDE_PATH=/usr/include/mysql
Natuurlijk heb je de tijdelijke oplossing gevonden, namelijk het opnemen van dir_config('mysql')
in uw extconf.rb
. Dat stelt u in staat om de --with-mysql-include
optie en geef het pad handmatig op.
Hier is mijn bron:http://www.network-theory.co .uk/docs/gccintro/gccintro_23.html
En hier is een meer algemene versie van dezelfde vraag (met antwoorden):Hoe voeg je een standaard include-pad toe voor gcc in linux?