Вярвам, че намерих отговор.
Изглежда, че have_header
разглежда пътя за включване на системата. Ако съответните променливи на средата не са зададени, пътищата за включване по подразбиране са /usr/local/include
и /usr/include
.
Ако искате да ги зададете ръчно, ще направите нещо като:
export C_INCLUDE_PATH=/usr/include/mysql/
Това е вярно, дори ако компилирате C++ програма, ако заглавният файл е C файл. Ако, от друга страна, вашият заглавен файл е C++, а не C, бихте направили:
export CPLUS_INCLUDE_PATH=/usr/include/mysql
Разбира се, намерихте заобиколното решение, което включва dir_config('mysql')
във вашия extconf.rb
. Това ви позволява да използвате --with-mysql-include
опция и въведете пътя ръчно.
Ето моят източник:http://www.network-theory.co .uk/docs/gccintro/gccintro_23.html
И ето по-обща версия на същия въпрос (с отговори):Как да добавите включен път по подразбиране за gcc в linux?