惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 叶小钗
大猫的无限游戏
大猫的无限游戏
H
Help Net Security
G
Google Developers Blog
D
Docker
阮一峰的网络日志
阮一峰的网络日志
A
About on SuperTechFans
aimingoo的专栏
aimingoo的专栏
博客园 - 聂微东
Hugging Face - Blog
Hugging Face - Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
Apple Machine Learning Research
Apple Machine Learning Research
云风的 BLOG
云风的 BLOG
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
腾讯CDC
T
The Blog of Author Tim Ferriss
Microsoft Security Blog
Microsoft Security Blog
WordPress大学
WordPress大学
I
InfoQ
Engineering at Meta
Engineering at Meta
Stack Overflow Blog
Stack Overflow Blog
Google DeepMind News
Google DeepMind News

博客园 - say3say4的私人空间

期待 突破 解决 jboss和log4j的冲突问题 未来50家最具商业潜力网站名单(互联网周刊) java 和 c++ 之间通过 控制台 输入输出 传递数据 结合开源项目(postgis mapserver ) 研究 oracle spatial oracle9i spatial 开发 occi (基于oci的c++接口) ajax应用体现_无需安装 msn等桌面软件 研习了一下google map api SWIG 万能语言粘合剂 AJAX和webgis在实际项目中的运用(电业局用电检查系统) ant中最基本的设置 虚拟机VMWARE和移动硬盘的合作_移动办公 在C++中使用事件回调机制(通过Observer模式、函数指针等实现) 对DWR的学习告一段落,开发了结合具体应用的DEMO 不错的网站 回忆AOP 被google搜索到了 地震、停水、禽流感 关于讨论ajax,B/S框架,B/S界面的一个有用的站点
转贴_vc++ 编译 occi 接口的 环境设置 - say3say4的私人空间
say3say4的私人空 · 2006-01-18 · via 博客园 - say3say4的私人空间
VC编译OCCI的解决方案解决过程中,发现少有的解决方案也是零星和不详细的。
我把总结的成果共享一下吧,希望能对后来者有所帮助。

Windows下编译yield的步骤
2005-7-28
一、        安装必备软件
1、        安装Oracle客户端,其中会含有oci的库文件。
2、        安装MS Visual C++

二、        修改源文件
1、增加接口。在OcciDml.hpp中增加extern "C" int __declspec(dllexport) funA(char* a);   在OcciDml.cpp中将函数声明修改为extern "C" int __declspec(dllexport) funA(char* a)
2、修改头文件。在需要引入

的所有类中,替换为
  #ifndef OCCI_ORACLE
#define WIN32COMMON
#include "occi.h"
using namespace oracle::cci;
using namespace std;
#endif
否则会出现错误如下:
d:\oracle\ora92\oci\include\occicontrol.h(1132) : error C2995: 'getVector' : template function has already been defined
d:\oracle\ora92\oci\include\occicommon.h(425) : see declaration of 'getVector'

三、        设置环境变量
1、        设置INCLUDE,这可以使cl.exe在命令行时执行成功
2、        设置LIB,这可以使cl.exe在link时找到库

四、        VC设置环境
1、        在Tools->Options->Directories->INCLUDE中加入%ORACLE_HOME%/OCI/INCLUDE和%ORACLE_HOME%/PRECOMP/PUBLIC。
2、        在Tools->Options->Directories->Library files中加入%ORACLE_HOME%/OCI/lib/MSVC/VC6和%ORACLE_HOME%/OCI/lib/MSVC和%ORACLE_HOME%/precomp/lib/MSVC
3、在Project->Setting->Link->Input中增加oci.lib,oraocci10d.lib,oraSQL10.lib,msvcrt.lib
4、在Project->Setting->Link->General中选择”Ignore all default libraries”,然后修改为/NODEFAULTLIB:libcd
5、在Project->Setting->C/C++->Preprocessor中增加WIN32COMMON,_MT,_DLL
否则,会出现ResultSet的getString错误。
6、附编译后日志中的编译选项为/nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "YIELDDLL_EXPORTS" /D "WIN32COMMON" /D "_MT" /D "_DLL" /FR"Debug/" /Fp"Debug/yielddll.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c
五、设置Oracle的lisener
  找到lisener.ora,修改为(ENVS="EXTPROC_DLLS=ANY")
六、部署
  拷贝到oracle的bin目录下,执行create library命令