в файлах смены файла сборки («AF-Android-SDK.jar») для компиляции файлов («libs / AF-Android-SDK.jar»), он будет работать
Необходимо вручную установить CFLAGS
, CXXFLAGS
и LDFLAGS
, если Вы хотите, чтобы gcc/g ++ посмотрел в нестандартных местоположениях.
Так, прежде, чем звонить AC_CHECK_LIB()
, сделайте что-то как
CFLAGS="$CFLAGS -I/opt/local/include"
CXXFLAGS="$CXXFLAGS -I/opt/local/include"
LDFLAGS="$LDFLAGS -L/opt/local/lib"
, Вам не нужен CXXFLAGS, если Вы только используете gcc всюду по Вашему настраивать сценарий.
Если библиотека поставляет .pc файл, рассмотрите использование PKG_CHECK_MODULES () макрос, который делает вещи, которые Вы хотите. Если это будет Ваша собственная библиотека, просто поставьте .pc файл в/usr/lib/pkgconfig, то это сделает намного легче для других разработчиков зависеть/использовать он.
скрипт autoconf не может угадать расположение "необязательных" библиотек, которое может отличаться на разных платформах. Поэтому можно сказать
CPPFLAGS="-I/opt/local/include" LDFLAGS="-L/opt/local/lib" ./configure
Для AC_CHECK_LIB()
нужно явно указать условие отказа в аргументе "action-if-false":
dnl This is simply print "no" and continue:
AC_CHECK_LIB([m], [sqrt123])
dnl This will stop:
AC_CHECK_LIB([m], [sqrt123], [], [AC_MSG_ERROR([sqrt123 was not found in libm])])
Вывод:
checking for sqrt123 in -lm... no
checking for sqrt123 in -lm... no
configure: error: sqrt123 was not found in libm
AC_CHECK_LIB()
не отказывает по умолчанию по очевидной причине: можно проверить несколько разных библиотек, предоставляющих схожую функциональность, и выбрать одну из них :)
Также посмотрите это сообщение на похожую тему.