https://www.2cto.com/database/201707/658910.html
开发环境
Visual Studio 2017[15.2(26430.16)]
PostgreSQL 9.6.3
配置步骤
先从上方的网址中下载需要版本的PostgreSQL。此处有32位和64位可选,这里的位数指的是你调用PostgreSQL开发出来的软件的位数版本,而不是你计算机的位数。
![这里写图片描述](http://img.2cto.com/Collfiles/20170719/2017071909163912.jpg)
打开下载好的安装包,大部分步骤可以直接点击“Next”。
在“Password”界面可以给默认用户(用户名为“prostgres”)添加一个密码。
![这里写图片描述](http://img.2cto.com/Collfiles/20170719/2017071909163915.jpg)
安装完成后,去掉钩,点击“Finish”。
![这里写图片描述](http://img.2cto.com/Collfiles/20170719/2017071909164016.jpg)
新建一个项目,本文选择控制台应用程序(空项目),方便演示。
![这里写图片描述](http://img.2cto.com/Collfiles/20170719/2017071909164017.jpg)
进入项目属性。
![这里写图片描述](http://img.2cto.com/Collfiles/20170719/2017071909164018.jpg)
选择对应的平台配置,多种配置需要分别进行配置。
![这里写图片描述](http://img.2cto.com/Collfiles/20170719/2017071909164019.jpg)
将PostgreSQL安装目录下的“include”文件夹添加至项目。
![这里写图片描述](http://img.2cto.com/Collfiles/20170719/2017071909164020.jpg)
![这里写图片描述](http://img.2cto.com/Collfiles/20170719/2017071909164125.jpg)
![这里写图片描述](http://img.2cto.com/Collfiles/20170719/2017071909164128.jpg)
![这里写图片描述](http://img.2cto.com/Collfiles/20170719/2017071909164130.jpg)
方法类似,将“lib”文件夹添加至项目。
![这里写图片描述](http://img.2cto.com/Collfiles/20170719/2017071909164131.jpg)
添加libpq.lib。
![这里写图片描述](http://img.2cto.com/Collfiles/20170719/2017071909164133.jpg)
手动输入“libpq.lib”。
![这里写图片描述](http://img.2cto.com/Collfiles/20170719/2017071909164234.jpg)
完成项目配置。
由于VS2005中没有C++目录,需要用以下方法添加上述目录:
1. 添加编译所需要(依赖)的 lib 文件
[解决方案资源管理器]“项目-属性-配置属性-连接器-输入-附加依赖项”里填写“libpq.lib”,多个 lib 以空格隔开。
(等同于“#pragma comment(lib, "winsock.lib") ”语句)
2. 添加库(Libs)文件目录
方法 1:[解决方案资源管理器]“项目-属性-配置属性-连接器-常规-附加库目录”
方法 2:[菜单]“工具-选项-项目和解决方案-C++ 目录”,选择对应平台,然后添加所需“库文件”目录
3. 添加包含(include)文件目录
方法 1:[解决方案资源管理器]“项目-属性-配置属性-C/C++-常规-附加包含目录”
方法 2:[菜单]“工具-选项-项目和解决方案-C++ 目录”,选择对应平台,然后添加所需“包括文件”目录
打开PostgreSQL安装目录。
将“bin”文件夹中的“libeay32.dll”、“libiconv-2.dll”、“libintl-8.dll”、“ssleay32.dll”复制到项目目录。
将“bin”文件夹中的“libpq.dll”复制到项目目录。
![这里写图片描述](http://img.2cto.com/Collfiles/20170719/2017071909164237.jpg)
测试代码
测试代码前不要忘了选择项目平台配置
![这里写图片描述](http://img.2cto.com/Collfiles/20170719/2017071909164239.jpg)
#include
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<libpq-fe.h> int main () { int lib_ver = PQlibVersion (); printf ( "Version of libpq: %d
" , lib_ver); PGconn *conn = PQconnectdb ( "host=192.168.1.104 dbname=testdb user=postgres password=abc123" ); if (PQstatus (conn) == CONNECTION_BAD) { fprintf (stderr, "Connection to database failed: %s
" , PQerrorMessage (conn)); PQfinish (conn); return 0; } int ver = PQserverVersion (conn); printf ( "Server version: %d
" , ver); PQfinish (conn); return 0; }</libpq-fe.h> |
运行结果:
![这里写图片描述](http://img.2cto.com/Collfiles/20170719/2017071909164343.jpg)