VS2010中c++程序调用PostgreSQL数据库C接口libpq.lib的项目Properties设置
来源:互联网 发布:2017网络新名词 编辑:程序博客网 时间:2024/05/01 12:29
最近在写代码过程中需要用到PostgreSQL的c接口libpq.lib,在刚使用时总不能成功的调用其函数接口,遂在网上搜索了一下解决方法,经过一番纠结之后终于能够成功使用libpq.lib了(开心啊!^_^ v),现将方法总结如下:
OS:win7-x64
Microsoft Visual studio版本:Microsoft Visual studio 2010
PostgreSQL版本:postgresql-9.2.4-1-windows-x64
PostgreSQL安装目录:D:\Program Files\PostgreSQL
在VS2010建立项目(RCWA3D),Alt+F7对该项目的Properties进行设置:
1. Properties>C/C++>General,在Additional Include Directories中添加D:\Program Files\PostgreSQL\9.2\include路径,分号与其他路径隔开;
2. Properties>Linker>General,在Additional Library Directories中添加D:\Program Files\PostgreSQL\9.2\lib路径,分号与其他路径隔开;(在该步骤中,也还有同时添加了D:\Program Files\PostgreSQL\9.2\bin路径的做法,在我的尝试中这种做法并没有起到任何作用)
3. Properties>Linker>Input,在Additional Dependencies中添加libpq.lib,分号与其他lib文件隔开(步骤3也可通过在源代码中添加#pragma comment(lib,"libpq.lib")进行替代,如果步骤2未设置则需用#pragma comment(lib,"D:\Program Files\PostgreSQL\9.2\lib\libpq.lib")替代);
以上3个步骤是我在网上找到的最详尽的关于调用PostgreSQL的c接口libpq.lib时需要进行的编译环境设置,然而在我的尝试中编译成功了,执行时却出现了下面的错误:
于是我在D:\Program Files\PostgreSQL\9.2\lib中找到libpq.dll将其复制到System32目录下,重新编译成功,执行时却又出现提示丢失SSLEAY32.dll,于是我在D:\Program Files\PostgreSQL\9.2\bin目录下又找到了SSLEAY32.dll将其复制到System32目录下,继续编译执行,而编译器则继续提示丢失libintl-8.dll,此时我才明白,步骤2中添加D:\Program Files\PostgreSQL\9.2\bin路径的做法只需要改成步骤4即可:
4. Properties>Configuration Properties>Debugging,在Environment中添加path=%path%;D:\Program Files\PostgreSQL\9.2\bin路径。
将上面4个步骤设置完成后,一般来说程序编译后即可执行成功,然而编译成功后执行时也可能出现"无法定位序数4540于动态链接库libeay32.dll “等形似"无法定位序数xxxx于动态链接库xxxx.dll"的错误提示,这主要是System32中xxxx.dll不是最新版本导致的,我们只需要用D:\Program Files\PostgreSQL\9.2\bin中的xxxx.dll对其进行覆盖就行了,这里则是用D:\Program Files\PostgreSQL\9.2\bin中的libeay32.dll将System32中的libeay32.dll替换即可。
- VS2010中c++程序调用PostgreSQL数据库C接口libpq.lib的项目Properties设置
- postgresql libpq c接口 操作数据库例子
- postgresql libpq C语言网络库接口操作数据库例子
- PostgreSQL: libpq - C 库
- Linux下PostgresQL数据库C语言接口:libpq (二)数据库访问
- Linux下PostgresQL数据库C语言接口:libpq (一)数据库连接
- Linux下PostgresQL数据库C语言接口:libpq (三)控制事务
- PostgreSQL: libpq - C 库(待续)
- PostgreSQL数据库学习手册之libpq - C 库--介绍
- postgresql C++接口libpq
- C程序访问PostgreSQL数据库
- 数据库编程接口Libpq
- 数据库编程接口Libpq
- libpq调用postgresql有返回值的函数方法
- VS2010中调用lib
- android项目调用c接口
- C调用数据库接口整理
- C 中调用 PostgreSQL 内置动态加载函数的方法
- JDK配置环境变量
- C:链表的操作(一),如何创建一个链表
- 对C# 中Readonly的再认识
- android面试题目大全<第三部分>,java高级综合部分
- 【xinfanqie】任务管理器恢复使用的小办法
- VS2010中c++程序调用PostgreSQL数据库C接口libpq.lib的项目Properties设置
- Linux下/proc目录简介
- rac环境磁阵迁移
- navigaiton的出栈方式
- Collection和Collections的区别
- C:链表的操作(二),如何输出一个链表
- fisher linear discriminant analysis(fisher线性判别分析)
- OMXCodec执行流程细节
- 查看进程的端口号