1. 下载PostgreSql和libpgxx
PostgreSql下载地址:http://www.postgresql.org/download/ 选择windows版本下的PostgreSql安装包(x86和x64)。
libpgxx下载地址:https://github.com/dreamsxin/libpqxx
libpgxx官网资料地址:http://pqxx.org/devprojects/libpqxx/doc/4.0/html/Reference/
libpgxx tutorial地址: http://pqxx.org/devprojects/libpqxx/doc/4.0/html/Tutorial/
2. 安装PostgreSql
点击安装postgreSql安装包,如: PDK-9.4.0.298593-windows-64.exe。如果要编译32位的libpgxx,请下载32位的PostgreSql安装程序,
如postgresql-9.3.9-1-windows.exe,一键安装到即可。
3. 编译libpgxx4.0.1
3.1 解压libpqxx4.0.1压缩包,把win32\common-sample另存为win32\common, 使用ue编译器打开win32\common文件,
修改PGSQLSRC的值为PostgreSql安装的根目录,如C:\Program Files\postgresql\9.3。
把LIBPQINC=$(PGSQLSRC)\interfaces\libpq注释掉,
取消
LIBPQINC=$(PGSQLSRC)\include的注释。
把LIBPQPATH=$(PGSQLSRC)\interfaces\libpq\Release
LIBPQDLL=libpq.dll
LIBPQLIB=libpqdll.lib 注释掉,
取消
LIBPQDPATH=$(PGSQLSRC)\lib
LIBPQDDLL=libpq.dll
LIBPQDLIB=libpq.lib 注释。
把LIBPQDPATH=$(PGSQLSRC)\interfaces\libpq\Debug
LIBPQDDLL=libpqd.dll
LIBPQDLIB=libpqddll.lib 注释掉,
取消
LIBPQDPATH=$(PGSQLSRC)\lib
LIBPQDDLL=libpq.dll
LIBPQDLIB=libpq.lib 注释。
3.2 将config\ample-headers\compile\VisualStudio2010\pqxx\目录下的所有头文件拷贝到include\pqxx目录下
; 将 config\sample-headers\libpq\9.0\pqxx\目录下的所有头文件拷贝到include\pqxx目录下。
3.3 如果是编译64位的libpqxx, 请使用ue编译打开win32\vc-libpqxx.mak 文件,将
LINK_FLAGS_BASE=kernel32.lib ws2_32.lib advapi32.lib /nologo /dll /machine:I386 shell32.lib secur32.lib wldap32.lib
修改为
LINK_FLAGS_BASE=kernel32.lib ws2_32.lib advapi32.lib /nologo /dll /machine:x64 shell32.lib secur32.lib wldap32.lib
3.4 选择Visual Studio 2013下的Visual Studio Tools下的命令提示行工具,并以管理员方式运行;
编译x86库时,直接运行命令:vcvars32.bat,
编译x64库时,请运行命令:
”C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64\vcvars64.bat"。
定位到libpgxx根目录下,如xx\libpqxx-4.0.1\libpqxx-4.0.1\,
编译x86库时,运行命令:nmake /f win32/vc-libpqxx.mak ALL;
编译x64库时,运行命令:
"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64\nmake.exe" /f win32/vc-libpqxx.mak ALL.
编译成功后,会将编译输出的静态链接库的debug/release及动态链接库的debug/release文件放到lib目录下如:
3.5 更多的编译选项及编译说明,请参照win32目录下的common文件,INSTALL.TXT 及vc-libpgxx.mak。本文如有说明得不对的,望指正。