如何将oracle oci库添加到C ++ eclipse中

时间:2012-08-04 10:42:39

标签: c++ eclipse oracle

我正在用C ++编写Oracle方法。我正在使用Eclipse的OCI库作为我的IDE。代码完全编译但我得到了这个运行时错误:

"error while loading shared libraries: libocci.so.11.1: cannot open shared object file: No such file or directory "

我通过属性>包括了occi和clntsh以及nnz11。 c / c ++ general /路径和符号>图书馆

我不知道如何修复此错误,请帮助谢谢

3 个答案:

答案 0 :(得分:1)

IDE不会像libocci.so.11.1那样 你必须转换成像libocci.so

ln -s libocci.so.11.1

然后它将被重命名为libocci.so

然后编译代码

答案 1 :(得分:0)

您的编译器找到库,因为您的项目可能指定在哪里查找libs(链接器命令行上的-L标志)。但是运行时链接程序也需要找到库。

我假设您在Linux上运行它。您有两个选择:

  1. 临时解决方案是在您的环境中定义LD_LIBRARY_PATH = full path to dir where libocci.so* is installed。我对eclipse不太熟悉,但可能有一个设置来改变运行时环境。您也可以设置LD_LIBRARY_PATH,然后在该环境中运行ecplise。

    $ export LD_LIBRARY_PATH = ...

    $命令运行eclipse

  2. 永久解决方案是添加目录的完整路径。 libs所在的文件是/etc/ld.so.conf,或者更好:创建一个文件/etc/ld.so.conf.d/oracle并将路径放在该文件中,没有别的。然后,以root身份运行ldconfig。

答案 2 :(得分:0)

哇。哇。最后我做了一个变量并将其放入.bashrc

1- export LD_LIBRARY_PATH = / opt / oracle / instantclient“库的路径”然后 2- root @ user:〜#vi .bashrc“确保你是root用户” 3- LD_LIBRARY_PATH = / opt / oracle / instantclient /“将这两行添加到文件中”    export LD_LIBRARY_PATH

:)