Использование libpq в VisualStudio (Windows)

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Данный пост ни на что не претендует, а написан мной в целях помочь таким-же недопрограммистам как я. Возможно, если бы я прочитал документацию по этой API полностью, то этой статьи бы и не понадобилось. Однако, в свою защиту скажу, что я не нашел внятной инструкции для чайников.

Я столкнулся с рядом проблем при попытке подключить libpq в VS 2017: начиная с несоответствия документации по данной API с инструкциями по подключению, заканчивая умолчанием некоторых ключевых моментов.

В общем по порядку.

Для использования данного API нужны следующие библиотеки и файлы:

  • libpq.dll и libpq.lib - собственно само API Последнее упоминание в документации о возможности сборки ее для Windows находиться в 9й версии. В 10+ этого уже нет. Таким образом проще всего сделать так: ставим postgresql нужной версии и берем оттуда папку PostgreSQL\{номер версии}\lib. Копируем куда нужно и в VS указываем в свойствах проекта Свойства конфигурации>Каталоги VC++> Каталоги библиотек. Далее указываем libpq.lib в Свойства конфигурации>Компоновщик> Ввод >Дополнительные зависимости.

  • libpq-fe.h - заголовочный файл для API. В месте со всеми остальными заголовочными файлами находиться в исходниках postgresql. Качаем с офф сайта (https://ftp.postgresql.org/pub/source/v12.0/postgresql-12.0.tar.gz ) нужную версию postgresql. Заголовочные лежат в postgresql-{номер версии}\src\interfaces\libpq. Эту папку подключаем в Свойства конфигурации>Каталоги VC++> Включаемые каталоги. Так же, я подключил сюда и эти каталоги : "\src\include" "\include\libpq" "\src\interfaces" (скажем так, на всякий).

  • libintl-8.dll, libiconv-2.dll - лежат в папке с установленным postgres ("PostgreSQL\{номер версии}\bin"). Нужно скопировать в Windows\system32 либо в папку с собранным exe программы.

  • libcrypto-1_1-x64.dll, libssl-1_1-x64.dll - библиотеки OpenSSL. Либо ставим его (выбирая при установке, копирование библиотек в папку system32), либо берем эти библиотеки с уже установленного openssl (C:\Program Files\OpenSSL-Win64\bin) и копируем в папку программы или system32 сами.

    Далее еще один момент. В моем случае, платформу проекта пришлось выбрать x64.

    На этом все. Добавляем #include <libpq-fe.h> в программу и работаем

Источник: https://habr.com/ru/post/539840/


Интересные статьи

Интересные статьи

Как же люди любят упрощать сложное и усложнять простое, ну или как я настаивал планшет для работы. Читать далее
При создании программного обеспечения все мы, как команда, соглашаемся следовать набору рекомендаций, которые обычно считаются лучшими практиками. Но во время разработки разработчики...
Всем привет. Если вы когда-либо работали с универсальными списками в Битрикс24, то, наверное, в курсе, что страница детального просмотра элемента полностью идентична странице редак...
При создании CSS стилей для HTML форм, разработчики часто сталкиваются с невозможностью непосредственно менять внешний вид элементов флажков (checkboxes) и переключателей (radio buttons). Рассмот...
Я имею кое-какой 8ми летный опыт в ковырянии кода. За это время успел попробовать много разных языков и технологий в разных направлениях: от «разработки» всяких фишинговых приколов на PHP Devel S...