Věřím, že jsem našel odpověď.
Zdá se, že have_header podívá se na cestu včetně systému. Pokud nejsou nastaveny relevantní proměnné prostředí, výchozí cesty pro zahrnutí jsou /usr/local/include a /usr/include .
Pokud je chcete nastavit ručně, udělali byste něco jako:
export C_INCLUDE_PATH=/usr/include/mysql/
To platí i v případě, že kompilujete program C++, pokud je hlavičkovým souborem soubor C. Pokud je na druhou stranu váš hlavičkový soubor C++, nikoli C, udělali byste:
export CPLUS_INCLUDE_PATH=/usr/include/mysql
Samozřejmě jste našli řešení, které zahrnuje dir_config('mysql') ve vašem extconf.rb . To vám umožní používat --with-mysql-include a zadejte cestu ručně.
Zde je můj zdroj:https://www.network-theory.co .uk/docs/gccintro/gccintro_23.html
A zde je obecnější verze stejné otázky (s odpověďmi):Jak přidat výchozí zahrnutou cestu pro gcc v linuxu?