Jag tror att jag har hittat ett svar.
Det verkar som att have_header
tittar på systemet inkluderar sökväg. Om de relevanta miljövariablerna inte är inställda är standardinkluderingsvägarna /usr/local/include
och /usr/include
.
Om du vill ställa in dem manuellt, skulle du göra något i stil med:
export C_INCLUDE_PATH=/usr/include/mysql/
Det är sant även om du kompilerar ett C++-program, om huvudfilen är en C-fil. Om, å andra sidan, din rubrikfil är C++, inte C, skulle du göra:
export CPLUS_INCLUDE_PATH=/usr/include/mysql
Naturligtvis hittade du lösningen, som är att inkludera dir_config('mysql')
i din extconf.rb
. Det gör att du kan använda --with-mysql-include
alternativet och ange sökvägen manuellt.
Här är min källa:http://www.network-theory.co .uk/docs/gccintro/gccintro_23.html
Och här är en mer allmän version av samma fråga (med svar):Hur lägger man till en standardinkluderingssökväg för gcc i linux?