编译libpqxx 3.0 @ winxp + vc9

这篇博客介绍了如何在Windows XP环境下,利用Visual Studio 9 (VC9) 编译libpqxx 3.0库。文章详细列出了编译过程中涉及的预处理器定义,包括HAVE_SYS_TYPES_H, PQXX_HAVE_IMBUE和PQXX_HAVE_LOCALE等,以确保编译成功。" 113581614,10537632,Vue实现高性能PDF在线预览,"['前端开发', 'Vue', 'PDF处理', 'canvas渲染']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


libpqxx编译真要费些周折,这一点应该多向前辈libpq学习才对。

需要的源代码包:1. postgresql-8.3.5;2. libpqxx 3.0
编译时,使用vc的命令行方式。对于vc9,请执行VC安装目录下的vcvarsall.bat,其他版本的vc可能会有所不同。

以下为编译步骤:

1) 解包。下面叙述中,PGSRC代表postgresql-8.3.5解压后的根目录,LIBPQXXSRC代表libpqxx3.0解压后的根目录。

2) 编译libpq。那是相当的简单!cd到PGSRC/src/interfaces/libpq ,执行命令 nmake /f win32.mak ALL RELEASE=1即可。其中,RELEASE=1可以省略,因为默认就是这个。但如果要编译DEBUG,则必须指定DEBUG=1,且二者不能同时指定。至于ALL,就不用多说了吧,看下win32.mak中的对应部分即可,类似的,还有CLEAN。

3) 编译libpqxx。相比较与libpq,简直有点BT,不过耐心看intall、readme等文件后,也就可以搞定了:
a. 将LIBPQXXSRC/win32下的vc-libpqxx.mak文件拷贝到LIBPQXXSRC下;
  b. 将LIBPQXXSRC/win32下的common-sample文件改名为common,并将位于尾部的PGSRC变量修改为与实际位置对应的位置;
  c. 将/config/sample-headers/compiler/SunStudio-8/pqxx下的config-internal-compiler.h、config-public-compiler.h两个文件拷贝到LIBPQXXSRC/include/pqxx目录中;
  d. 将LIBPQXXSRC/config/sample-headers/libpq/8.3/pqxx下的config-internal-libpq.h文件拷贝到LIBPQXXSRC/include/pqxx目录中;
  e. 修改LIBPQXXSRC/include/pqxx/config-internal-compiler.h文件为:
  1. #define HAVE_SYS_TYPES_H 1
  2. //#define HAVE_UNISTD_H 1
  3. /* #undef PQXX_HAVE_COUNT_IF */
  4. #define PQXX_HAVE_IMBUE 1
  5. #define PQXX_HAVE_LOCALE 1
  6. //#define PQXX_HAVE_SLEEP 1
  7. #define PQXX_HAVE_STRING_CLEAR 1
  8. //#define PQXX_HAVE_SYS_SELECT_H 1
  9. /* #undef PQXX_SELECT_ACCEPTS_NULL */
  10. #define PQXX_HAVE_QUIET_NAN 1
  f. cd到 LIBPQXXSRC目录下执行 nmake /f vc-libpqxx.mak ALL 即可。其中的ALL可换作clean、dll、static再加debug、release组合等,具体查看 vc-libpqxx.mak 即可知晓。

    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值