Mysql
 sql >> Database >  >> RDS >> Mysql

Dove cerca il metodo have_header di Ruby per i file di intestazione?

Credo di aver trovato una risposta.

Sembra che have_header esamina il percorso di inclusione del sistema. Se le variabili di ambiente rilevanti non sono impostate, i percorsi di inclusione predefiniti sono /usr/local/include e /usr/include .

Se vuoi impostarli manualmente, dovresti fare qualcosa del tipo:

export C_INCLUDE_PATH=/usr/include/mysql/

Questo è vero anche se stai compilando un programma C++, se il file di intestazione è un file C. Se, d'altra parte, il tuo file di intestazione è C++, non C, dovresti fare:

export CPLUS_INCLUDE_PATH=/usr/include/mysql

Naturalmente, hai trovato la soluzione alternativa, che consiste nell'includere dir_config('mysql') nel tuo extconf.rb . Ciò ti consente di utilizzare --with-mysql-include opzione e fornire il percorso manualmente.

Ecco la mia fonte:http://www.network-theory.co .uk/docs/gccintro/gccintro_23.html

Ed ecco una versione più generale della stessa domanda (con risposte):Come aggiungere un percorso di inclusione predefinito per gcc in linux?