Как исправить проблему с файлом 'postgres.h'? - PullRequest
0 голосов
/ 23 июня 2019

Я пытаюсь написать базовый тип для PostgreSQL в C (используя xcode), и я уже установил PostgreSQL 11, но кажется, что postgres.h нельзя просто включить в файл (файл "postgres.h" не найден ").

Может кто-нибудь сказать мне, как решить эту проблему? И могу ли я написать код в произвольном каталоге, или я должен писать в каталоге PostgreSQL?

Или, возможно, вопрос должен быть: как установить заголовочные файлы, такие как postgres.h?

1 Ответ

1 голос
/ 25 июня 2019

У вас есть несколько подходов:

  • Поиск файла самостоятельно, с помощью некоторой команды, например

    find / -name "postgres.h" -print
    

    , это скажет вам (на моем Mac это делает)файл находится в:

    /usr/local/Cellar/postgresql/11.2_1/include/server/postgres.h
    

    и добавьте опцию -I /usr/local/Cellar/postgresql/11.2_1/include/server в компилятор.Проверьте версию postgresql на наличие другой версии.

  • Возможно, есть еще один пакет для разработки баз данных.Найдите пакет с именем postgresql-dev или аналогичный и установите его.После поиска пакетов с:

     brew search postgres 
    

    и

     brew search psql
    

    в моей системе не появляется ничего, что соответствует.

РЕДАКТИРОВАТЬ

Я проверил систему FreeBSD для этого файла, и он появляется в

/usr/local/include/postgresql/server/postgres.h

Так что, вероятно, вам придется вместо этого #include <server/postgres.h> и использовать флаг подходящего -I (как упомянуто выше)

...