Ce billet ne prétend à rien, mais a été écrit par moi pour aider les mêmes non-programmeurs que moi. Peut-être que si j'avais lu complètement la documentation de cette API, cet article n'aurait pas été nécessaire. Cependant, pour ma défense, je dirai que je n'ai pas trouvé d'instructions claires pour les nuls.
J'ai rencontré un certain nombre de problèmes en essayant de connecter libpq dans VS 2017: en commençant par l'incohérence de la documentation de cette API avec les instructions de connexion, en terminant par la valeur par défaut de certains points clés.
En général, dans l'ordre.
Pour utiliser cette API, vous avez besoin des bibliothèques et fichiers suivants:
libpq.dll et libpq.lib - l'API elle-même La dernière mention dans la documentation sur la possibilité de la construire pour Windows est dans la 9ème version. À 10+, ce n'est plus là. Ainsi, le moyen le plus simple est de faire ceci: installez postgresql de la version requise et prenez le dossier PostgreSQL \ {numéro de version} \ lib à partir de là. Copiez où vous voulez et spécifiez dans VS dans les propriétés du projet Propriétés de configuration> Répertoires VC ++> Répertoires de bibliothèque . Ensuite, nous spécifions libpq.lib dans Propriétés de configuration> Éditeur de liens > Entrée> Dépendances supplémentaires .
libpq-fe.h - fichier d'en-tête de l'API. Avec tous les autres fichiers d'en-tête, il se trouve dans les sources postgresql. Téléchargez la version requise de postgresql depuis le site hors site ( https://ftp.postgresql.org/pub/source/v12.0/postgresql-12.0.tar.gz ). Les en-têtes se trouvent dans postgresql- {numéro de version} \ src \ interfaces \ libpq . Nous connectons ce dossier dans Propriétés de configuration> Répertoires VC ++> Répertoires inclus. J'ai également inclus ces répertoires ici: "\ src \ include" "\ include \ libpq" "\ src \ interfaces" (pour ainsi dire, juste pour tout le monde).
libintl-8.dll, libiconv-2.dll - se trouvent dans le dossier avec postgres installé ("PostgreSQL \ {numéro de version} \ bin"). Vous devez le copier dans Windows \ system32 ou dans le dossier avec l'exe assemblé du programme.
libcrypto-1_1-x64.dll, libssl-1_1-x64.dll - Bibliothèques OpenSSL. Soit nous les mettons (en choisissant lors de l'installation, en copiant les bibliothèques dans le dossier system32), soit nous prenons ces bibliothèques de l'openssl déjà installé (C: \ Program Files \ OpenSSL-Win64 \ bin) et les copions dans le dossier programme ou system32 nous-mêmes.
Ensuite, il y a un autre point. Dans mon cas, la plate-forme du projet devait être x64.
C'est tout. Ajouter
#include <libpq-fe.h>
au programme et travailler