Windows7使用Visual Studio 2010编译libpqxx 'copy' : return code '0x1'
2014-02-13 10:39
411 查看
在windows 7下使用visual studio 2010编译libpqxx4.0.1的过程
1.准备工作
PostgreSQL 下载地址http://www.enterprisedb.com/products-services-training/pgdownload#windows
libpqxx 下载地址http://pqxx.org/development/libpqxx/wiki/DownloadPage
由于libpqxx对libpq的C-API进行了很好的封装,从而可以节省大量的编码时间。
有关帮助文档,可以直接参考: libpqxx的手册http://pqxx.org/devprojects/libpqxx/doc/4.0/html/Tutorial
libpqxx的类库帮助:http://pqxx.org/devprojects/libpqxx/doc/4.0/html/Reference/
注意:
安装PostgreSQL的时候有路径问题,在windows 7安装x86版默认路径C:\Program Files (x86)\PostgreSQL...出现问题不能正确编译
本人实际安装路径
C:\PostgreSQL\9.2
数据路径
F:\PostgreSQL\data
安装正常,但是加载数据库的出现问题,addModule...失败
修改F:\PostgreSQL\data\pg_hba.conf内容如下
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 192.168.1.6/32 md5 ----新增加根据实际情况添加
2.编译过程
将libpqxx源码目录解压到D:\Source\libpqxx
将common-sample复制后修改名称为common后修改为如下设置,这是我的实际配置
PGSQLSRC=C:\PostgreSQL\9.2 //PostgreSQL安装目录 哦,这里源文件里面有""号,能路径问题是用""能解决未经过测试。
PGSQLINC=$(PGSQLSRC)\include //PostgreSQL头文件所在目录
LIBPQINC=$(PGSQLSRC)\include\libpq //libpq头文件所在目录
LIBPQPATH=$(PGSQLSRC)\lib
//libpq lib文件所在目录
LIBPQDLL=libpq.dll
LIBPQLIB=libpq.lib
LIBPQDPATH=$(PGSQLSRC)\lib
//libpq lib文件所在目录
LIBPQDDLL=libpq.dll
LIBPQDLIB=libpq.lib
将
D:\Source\libpqxx\config\sample-headers\compiler\VisualStudio2010\pqxx
D:\Source\libpqxx\config\sample-headers\libpq\9.0\pqxx
里的.h文件拷贝到D:\Source\libpqxx\include\pqxx下
进入到vs2010命令行模式
切换到
D:\Source\libpqxx后执行nmake /f win32/vc-libpqxx.mak ALL 稍等就会编译成功
编译为64位模式:
摘自:http://code.google.com/p/icode-mda/wiki/BuildingLibpqxx
64-bit only
Edit the following file win32\vc-libpqxx.mak
Replace:
LINK_FLAGS_BASE=kernel32.lib ws2_32.lib advapi32.lib /nologo /dll /machine:I386 shell32.lib secur32.lib wldap32.lib
With:
LINK_FLAGS_BASE=kernel32.lib ws2_32.lib advapi32.lib /nologo /dll /machine:x64 shell32.lib secur32.lib wldap32.lib
The only change was the machine argument /machine:x64
不成功的经验:
1.PGSQLINC和LIBPQINC设置不正确会编译错误,提示缺少头文件.
LIBPQINC -- libpq-fs 找不到
1.PGSQLINC -- libpq-fe 找不到
2.LIBPQPATH设置不正确
编译成功,但是不能正确的生成dll文件导致出现如下错误
NMAKE : fatal error U1077: 'copy' : return code '0x1'
3.使用PostgreSQL的源码
没有编译直接使用造成缺少lib文件从而出现第2个错误。
推荐安装PostgreSQL避免编译节省时间
1.准备工作
PostgreSQL 下载地址http://www.enterprisedb.com/products-services-training/pgdownload#windows
libpqxx 下载地址http://pqxx.org/development/libpqxx/wiki/DownloadPage
由于libpqxx对libpq的C-API进行了很好的封装,从而可以节省大量的编码时间。
有关帮助文档,可以直接参考: libpqxx的手册http://pqxx.org/devprojects/libpqxx/doc/4.0/html/Tutorial
libpqxx的类库帮助:http://pqxx.org/devprojects/libpqxx/doc/4.0/html/Reference/
注意:
安装PostgreSQL的时候有路径问题,在windows 7安装x86版默认路径C:\Program Files (x86)\PostgreSQL...出现问题不能正确编译
本人实际安装路径
C:\PostgreSQL\9.2
数据路径
F:\PostgreSQL\data
安装正常,但是加载数据库的出现问题,addModule...失败
修改F:\PostgreSQL\data\pg_hba.conf内容如下
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 192.168.1.6/32 md5 ----新增加根据实际情况添加
2.编译过程
将libpqxx源码目录解压到D:\Source\libpqxx
将common-sample复制后修改名称为common后修改为如下设置,这是我的实际配置
PGSQLSRC=C:\PostgreSQL\9.2 //PostgreSQL安装目录 哦,这里源文件里面有""号,能路径问题是用""能解决未经过测试。
PGSQLINC=$(PGSQLSRC)\include //PostgreSQL头文件所在目录
LIBPQINC=$(PGSQLSRC)\include\libpq //libpq头文件所在目录
LIBPQPATH=$(PGSQLSRC)\lib
//libpq lib文件所在目录
LIBPQDLL=libpq.dll
LIBPQLIB=libpq.lib
LIBPQDPATH=$(PGSQLSRC)\lib
//libpq lib文件所在目录
LIBPQDDLL=libpq.dll
LIBPQDLIB=libpq.lib
将
D:\Source\libpqxx\config\sample-headers\compiler\VisualStudio2010\pqxx
D:\Source\libpqxx\config\sample-headers\libpq\9.0\pqxx
里的.h文件拷贝到D:\Source\libpqxx\include\pqxx下
进入到vs2010命令行模式
切换到
D:\Source\libpqxx后执行nmake /f win32/vc-libpqxx.mak ALL 稍等就会编译成功
编译为64位模式:
摘自:http://code.google.com/p/icode-mda/wiki/BuildingLibpqxx
64-bit only
Edit the following file win32\vc-libpqxx.mak
Replace:
LINK_FLAGS_BASE=kernel32.lib ws2_32.lib advapi32.lib /nologo /dll /machine:I386 shell32.lib secur32.lib wldap32.lib
With:
LINK_FLAGS_BASE=kernel32.lib ws2_32.lib advapi32.lib /nologo /dll /machine:x64 shell32.lib secur32.lib wldap32.lib
The only change was the machine argument /machine:x64
不成功的经验:
1.PGSQLINC和LIBPQINC设置不正确会编译错误,提示缺少头文件.
LIBPQINC -- libpq-fs 找不到
1.PGSQLINC -- libpq-fe 找不到
2.LIBPQPATH设置不正确
编译成功,但是不能正确的生成dll文件导致出现如下错误
NMAKE : fatal error U1077: 'copy' : return code '0x1'
3.使用PostgreSQL的源码
没有编译直接使用造成缺少lib文件从而出现第2个错误。
推荐安装PostgreSQL避免编译节省时间
相关文章推荐
- Linux shell脚本的字符串截取
- Linux自动清理N天前目录文件
- Linux修改默认语言
- linux打包安装开发环境
- linux创建多个虚拟网卡
- 美女封面网站设计欣赏(PS:小编鼻血已流干)
- OpenCart之特色分类模块
- 你想建设一个能承受500万PV/每天的网站吗?如果计算呢?
- 《马哥出品高薪linux运维教程》wingkeung学习笔记-linux基础入门课程1
- Center OS Tomcat7 服务器配置总结
- 在Eclipse中,更改Tomcat的部署目录
- CentOS赋予一个普通用户root权限
- tomcat7远程调试
- Photoshop设计立体喜庆的舞台效果
- Linux DMA详解
- Linux上安装JDK1.7与Tomcat7.0
- Java Web应用开发环境配置 Eclipse + Tomcat + Lomboz
- CentOS 6.2配置本地yum源
- Drag and Drop from Grid to Grid Example,增加上下、左右移动的功能。
- linux svn 命令详解