无法打开包含文件:' occi.h':没有这样的文件或目录

时间:2015-08-18 11:38:07

标签: c++ oracle

我正在尝试编译现有的C ++项目,但是出现了这个错误:

 fatal error C1083: Cannot open include file: 'occi.h': No such file or directory

我做的是我去了这个链接:

http://www.oracle.com/technetwork/topics/winsoft-085727.html

并下载了第一个(基本)包。

然后解压缩文件夹并修改PATH变量,如下所示:

C:\Program Files\Atmel\sam-ba_2.12\drv\;C:\Program Files\Atmel\sam-ba_2.12;C:\Program Files\ATMEL Corporation\AT91-ISP v1.4\Library;C:\MSYS\1.0\bin;C:\MSYS\1.0\local\bin;C:\cygnus\cygwin-b20\H-i586-cygwin32\bin;D:\instantclient_12_1

最后成为oracle的路径。 但我仍然得到错误,有人可以帮忙吗?

PS我在项目中注意到有以下几行:

#include "occi.h"

也许是因为这个?

1 个答案:

答案 0 :(得分:2)

基本套餐还不够。它的描述说明了运行 OCI,OCCI和JDBC-OCI应用程序所需的所有文件" (重点补充);只是你可以运行一个OCI程序,但你不能编译一个。您需要下载其他即时客户端组件。特别是对于occi.h标题,您需要列出第五个文件:

  

* Instant Client Package - SDK:其他头文件和用于使用Instant Client开发Oracle应用程序的示例makefile

如果您在同一个地方下载并解压缩基本软件包,则您的即时客户端目录将获得一个sdk文件夹,其中包含所有OCI头文件。

然后您需要使用-I D:\instantclient_12_1\sdk\include进行编译,以便您的编译器知道在哪里查找occi.h和其他头文件。您可能还需要-L告诉它在哪里找到Oracle库;大概你已经有-lclntsh和/或-locci,它们指的是你应该已经从基本包中提供的库。