каково значение pkg-config в gcc?

при построении примера dbus я обнаружил, что нам нужно добавить pkg-config в gcc. Например:

gcc `pkg-config --cflags --libs dbus-1` <file_name> -o <file_name.out>

что такое значение pkg-config --cflags --libs dbus-1? что такое pkg-config здесь? что такое CFLAGS extra здесь? что такое --libsздесь?

2 ответов


gcc `pkg-config --cflags --libs dbus-1` <file_name> -o <file_name.out>

запустить pkg-config команда, и передайте свой выход как параметры к gcc.

цель pkg-config сделать связывание с библиотеками намного проще, так как разные операционные системы и дистрибутивы требуют разных флагов компиляции (aka CFLAGS), пути включения библиотеки и библиотеки для ссылки. pkg-config использует файлы конфигурации (определенные библиотеками) для генерации вышеуказанной информации для компиляторов и позволяет нам не беспокоиться о том, что работает система или распространение компиляции происходит на.

--cflags означает pkg-config должны давать флаги компиляции для перечисленных пакетов. --libs означает pkg-config должен давать информацию о связывании для перечисленных пакетов.

и dbus-1 - имя пакета.


gcc `pkg-config --cflags --libs dbus-1` <file_name> -o <file_name.out>

состоит из следующих частей:

  1. исполнение pkg-config --cflags --libs dbus-1 Примечание " выполните команду между ними.
  2. run gcc с флагами 1. возвращает и входной файл <file_name> выходной объектный файл .