Creo que he encontrado una respuesta.
Parece que have_header
mira la ruta de inclusión del sistema. Si las variables de entorno relevantes no están configuradas, las rutas de inclusión predeterminadas son /usr/local/include
y /usr/include
.
Si desea configurarlos manualmente, haría algo como:
export C_INCLUDE_PATH=/usr/include/mysql/
Eso es cierto incluso si está compilando un programa C++, si el archivo de encabezado es un archivo C. Si, por otro lado, su archivo de encabezado es C++, no C, haría:
export CPLUS_INCLUDE_PATH=/usr/include/mysql
Por supuesto, encontró la solución alternativa, que consiste en incluir dir_config('mysql')
en su extconf.rb
. Eso le permite usar --with-mysql-include
y proporcione la ruta manualmente.
Aquí está mi fuente:http://www.network-theory.co .uk/docs/gccintro/gccintro_23.html
Y aquí hay una versión más general de la misma pregunta (con respuestas):¿Cómo agregar una ruta de inclusión predeterminada para gcc en linux?