Este post não tem a pretensão de nada, mas foi escrito por mim para ajudar os mesmos não programadores como eu. Talvez, se eu tivesse lido a documentação desta API completamente, este artigo não teria sido necessário. Entretanto, em minha defesa, direi que não encontrei uma instrução clara para manequins.
Eu enfrentei uma série de problemas ao tentar conectar a libpq no VS 2017: começando com a inconsistência da documentação desta API com as instruções de conexão, terminando com o padrão de alguns pontos-chave.
Em geral, em ordem.
Para usar esta API, você precisa das seguintes bibliotecas e arquivos:
libpq.dll e libpq.lib - a própria API A última menção na documentação sobre a possibilidade de construí-la para Windows está na 9ª versão. Aos 10+ já não existe. Portanto, a maneira mais fácil é fazer isso: instale o postgresql da versão necessária e pegue a pasta PostgreSQL \ {número da versão} \ lib de lá. Copie onde desejar e no VS especifique nas propriedades do projeto Configuration Properties> VC ++ Directories> Library Directories . Em seguida, especificamos libpq.lib em Propriedades de configuração> Linker> Entrada> Dependências adicionais .
libpq-fe.h - arquivo de cabeçalho da API. Junto com todos os outros arquivos de cabeçalho, ele está localizado nas fontes do postgresql. Baixe a versão necessária do postgresql do site externo ( https://ftp.postgresql.org/pub/source/v12.0/postgresql-12.0.tar.gz ). Os cabeçalhos são encontrados em postgresql- {número da versão} \ src \ interfaces \ libpq . Conectamos essa pasta em Propriedades de configuração> Diretórios VC ++> Diretórios incluídos. Além disso, incluí estes diretórios aqui: "\ src \ include" "\ include \ libpq" "\ src \ interfaces" (por assim dizer, apenas para todos).
libintl-8.dll, libiconv-2.dll - estão localizados na pasta com o postgres instalado ("PostgreSQL \ {número da versão} \ bin"). Você precisa copiá-lo para Windows \ system32 ou para a pasta com o exe montado do programa.
libcrypto-1_1-x64.dll, libssl-1_1-x64.dll - Bibliotecas OpenSSL. Ou colocamos (escolhendo durante a instalação, copiando as bibliotecas para a pasta system32), ou pegamos essas bibliotecas do openssl já instalado (C: \ Arquivos de programas \ OpenSSL-Win64 \ bin) e as copiamos para a pasta do programa ou system32 nós mesmos.
Então, há mais um ponto. No meu caso, a plataforma do projeto tinha que ser x64.
Isso é tudo. Adicione
#include <libpq-fe.h>
ao programa e trabalhe