Pkg-config - это программа, которая ищет необходимые флаги компилятора и флаги компоновщика для библиотеки.PKG_CHECK_MODULES([NAME], [libraries])
- это макрос autoconf, который ищет флаги для libraries
и помещает их в две переменные, NAME_CFLAGS
и NAME_LIBS
.Не все библиотеки поддерживают его.
Для поддержки pkg-config библиотеки должны установить файл .pc.Глядя на исходный код freeglut , кажется, что его нет, поэтому я пришел к выводу, что он не поддерживает pkg-config.
Что делать, если библиотека не поддерживает pkg-config, посмотрите в его документацию , чтобы узнать, упоминаются ли в ней какие-либо флаги компилятора и флаги компоновщика, которые вы должны использовать.Я нигде не могу найти упоминания об этом.
Поскольку это не помогает, следующая лучшая вещь - просто предположить, что библиотеке не нужны никакие дополнительные флаги компилятора и только один флаг компоновщика: -l<name>
,в этом случае -lfreeglut
.Вы также можете использовать макрос autoconf, чтобы проверить это автоматически.Вы можете добавить это к своему configure.ac
следующим образом:
AC_CHECK_LIB([freeglut], [glutInit])
Это автоматически добавит -lfreeglut
к LIBS
, если библиотека freeglut присутствует, поэтому вам не нужно писать что-то дополнительное вваш Makefile.am
.