[PostgreSQL, C++, Visual Studio, Разработка под Windows] Использование libpq в VisualStudio (Windows)

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
29-Янв-2021 13:38

Данный пост ни на что не претендует, а написан мной в целях помочь таким-же недопрограммистам как я. Возможно, если бы я прочитал документацию по этой 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> в программу и работаем

===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_postgresql, #_c++, #_visual_studio, #_razrabotka_pod_windows (Разработка под Windows), #_libpq, #_postgresql, #_visualstudio, #_postgresql, #_c++, #_visual_studio, #_razrabotka_pod_windows (
Разработка под Windows
)
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 22-Ноя 08:57
Часовой пояс: UTC + 5