sql >> Base de Datos >  >> RDS >> Mysql

¿Dónde busca el método have_header de Ruby los archivos de encabezado?

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?