编译前的准备工作:
首先解压缩postgresql8.0.2,然后编译他的libpq接口,得到相关的lib
然后开始Libpqxx的相关工作
1、首先是环境变量的配置:
1.1、在include的字段里面添加:E:\Software\postgresql\libpqxx-2.5.0\include;E:\Software\postgresql\STLport-4.6.2\stlport;
也就是添加了libpqxx的include和stlport的include
需要注意的是:stlport的include必须在vs的路径前面
1.2、将lib的信息给添加进C:\CVSRoot\netflow\projects\lib;
1.3、运行VCVARS32.BAT
2、然后就是添加几个文件:
config-internal-autotools.h
config-internal-compiler.h
config-internal-libpq.h
config-public-compiler.h
config-public-libpq.h
添加在include/pqxx里面,非常关键的是,千万不要尝试自己去修改这些文件,否则编译的后果会非常的不可预料,最好的办法是用config/sample-headers来替代
我在这儿所作的修改只有一条:
#define PGSTD _STL(因为我们必须要用到stlport)
3、修改makefile
PGSQLSRC=E:\Software\postgresql\postgresql-8.0.2\postgresql-8.0.2\src
LIBPATH=/libpath:"C:\CVSRoot\netflow\projects\lib"
4、开始编译在win32目录下面运行nmake -f libpqxx.mak ALL
然后运行nmake -f test.mak ALL
最后运行那些测试程序就可以了(前提是如果用到了stlport,那么就必须把stlport的dll放到系统可以找到的目录)
5、在编译的时候可能会碰到有关zero作为分母的事情,这个问题我是直接用0.0/1.0来替代zero的,如果碰到这个问题,可以和我联系。