admin管理员组文章数量:1613061
针对X64的libpqxx库进行编译,编译环境为windows10、VS2017、PostgreSQL11。
参考博客:http://www.cppblog/deajosha/archive/2015/11/07/211146.html
目录
一、libpqxx简介
二、libpqxx环境搭建
2.1 下载及安装
2.2 编译
2.2.1 文本替换工作
2.2.2 头文件拷贝工作
2.2.3 编译工作
一、libpqxx简介
libpqxx是官方发布基于C++语言操作PostgreSQL的API库,简单地讲就是用C++来操作PostgreSQL数据库。
二、libpqxx环境搭建
2.1 下载及安装
1、PostgreSql下载并安装
(1)Windows版本地址:https://www.enterprisedb/downloads/postgres-postgresql-downloads
(2)PostgreSQL安装:具体安装参见安装教程,注意记下安装路径,后面要用到,这里推荐默认路径。
2、libpqxx下载
(1)这里主要是使用GitBash进行下载,在GitBash中使用以下命令:
git clone https://github/jtv/libpqxx
(2)或者直接在这里Clone or Download下载安装包:https://github/jtv/libpqxx
2.2 编译
2.2.1 文本替换工作
1、解压下载下来的libpqxx压缩包,在文件夹win32中用记事本打开common-sample,然后将文件另存再win32文件夹中一份,命名为common;
2、再使用记事本打开common文件,修改PGSQLSRC的值为PostgreSql安装的根目录(安装路径),比如我的电脑按默认安装是PGSQLSRC=C:\Program Files\PostgreSQL\11
3、把LIBPQINC=$(PGSQLSRC)\interfaces\libpq注释掉(语句前加个#),然后再取消LIBPQINC=$(PGSQLSRC)\include的注释;
4、把LIBPQPATH=$(PGSQLSRC)\interfaces\libpq\Release
LIBPQDLL=libpq.dll
LIBPQLIB=libpqdll.lib 注释掉,
取消掉
LIBPQDPATH=$(PGSQLSRC)\lib
LIBPQDDLL=libpq.dll
LIBPQDLIB=libpq.lib 的注释;
5、把 LIBPQDPATH=$(PGSQLSRC)\interfaces\libpq\Debug
LIBPQDDLL=libpqd.dll
LIBPQDLIB=libpqddll.lib 注释掉,
取消掉
LIBPQDPATH=$(PGSQLSRC)\lib
LIBPQDDLL=libpq.dll
LIBPQDLIB=libpq.lib 的注释;
2.2.2 头文件拷贝工作
1、将libpqxx\config\sample-headers\compiler\VisualStudio2017\pqxx\目录下的所有头文件拷贝到include\pqxx目录下;
2、[可选]如果不冲突也可以将libpqxx\config\sample-headers\compiler\目录文件夹下的都有头文件都拷贝到include\pqxx目录下;
2.2.3 编译工作
本文测试了Windows10环境下编译为X64的libpqxx,X32位的没有尝试过,大家有兴趣可以看我这篇文章的参考博客进行尝试,推荐X64位吧。
1、系统中查找nmake.exe,拷贝下这个位置;
2、选择对应的VS2017命令行并系统管理员身份运行;
3、定位到libpgxx根目录下,使用cd命令,见下图:
4、然后输入以下命令进行编译,格式写为:<"nmake.exe所在文件夹> <\nmake.exe"> < /f win32/vc-libpqxx.mak ALL.>
例如我的电脑输入和截图如下:
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64\nmake.exe" /f win32/vc-libpqxx.mak ALL.
5、编译成功后会产生一个lib目录,里面保存着静态链接库的debug/release及动态链接库的debug/release文件。
更多的说明请参照win32目录下的common文件,INSTALL.TXT 及vc-libpgxx.mak,如果在编译X64位库的过程中有任何疑问欢迎讨论。
版权声明:本文标题:Windows环境下编译libpqxx 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1728649860a1167886.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论