04-windows环境下编译libpqxx
1. libpqxx简介
libpqxx是官方发布基于C++语言操作PostgreSQL的API库,简单地讲就是用C++来操作PostgreSQL数据库。
2. 编译环境搭建
2.1 PostgreSql下载安装
PostgreSql下载安装过程略,我安装的是PostgreSql12,安装目录为:D:\PostgreSQL\12
(后面会用到)。
注意:PostgreSql的安装路径中最高不要有空格,例如D:\Program Files\***
,有空格在编译时可能会遇到麻烦。
2.2 libpqxx下载
直接从github下载libpqxx,我们使用的libpqxx6.4.7,下载命令如下:
git clone --branch 6.4.7 https://github.com/jtv/libpqxx.git
2.3 编译前的准备
2.3.1 修改配置文件
(1)解压下载下来的libpqxx压缩包,在文件夹win32中用记事本打开common-sample,然后将文件另存再win32文件夹中一份,命名为common。
(2)使用记事本打开common文件,修改PGSQLSRC的值为PostgreSql安装的根目录(安装路径),比如我的电脑按默认安装是PGSQLSRC=D:\PostgreSQL\12
(3)修改include相关配置
#LIBPQINC=$(PGSQLSRC)\interfaces\libpq
LIBPQINC=$(PGSQLSRC)\include
(4)修改Release相关配置
#LIBPQPATH=$(PGSQLSRC)\interfaces\libpq\Release
#LIBPQDLL=libpq.dll
#LIBPQLIB=libpqdll.lib
LIBPQPATH=$(PGSQLSRC)\lib
LIBPQDLL=libpq.dll
LIBPQLIB=libpq.lib
(5)修改Debug相关配置
#LIBPQDPATH=$(PGSQLSRC)\interfaces\libpq\Debug
#LIBPQDDLL=libpqd.dll
#LIBPQDLIB=libpqddll.lib
LIBPQDPATH=$(PGSQLSRC)\lib
LIBPQDDLL=libpq.dll
LIBPQDLIB=libpq.lib
2.3.2 头文件拷贝
将libpqxx\config\sample-headers\compiler\VisualStudio2017\pqxx\目录下的所有头文件拷贝到include\pqxx目录下。
2.4 编译
(1)系统中查找nmake.exe,拷贝下这个位置,我机器位置:D:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.20.27508\bin\Hostx64\x64
(2)开始菜单,选择对应的vs2019命令行并系统管理员身份运行
(3)cd进入到libpgxx根目录下
cd /d E:\08_exercise\libpqxx
(4)执行编译命令格式写为:<“nmake.exe所在文件夹> <\nmake.exe”> < /f win32/vc-libpqxx.mak ALL.>,例如:
"D:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.20.27508\bin\Hostx64\x64\nmake.exe" /f win32/vc-libpqxx.mak ALL.
(5)编译成功后会产生一个lib目录,里面保存着静态链接库的debug/release及动态链接库的debug/release文件。