我在我的 Oracle Linux 7.1 虚拟机上安装了 Oracle Instant Client 12.1(基本版和 SDK)和 Ocilib 4.0.1。
$ORACLE_HOME
是/usr/lib/oracle/12.1/client64
$LD_LIBRARY_PATH
是/usr/lib/oracle/12.1/client64/lib:/usr/local/lib
要安装 ocilib,我指定了 oracle home、oracle lib path 和 oracle headers path ( ./configure --with-oracle-home=/usr/lib/oracle/12.1/client64 --with-oracle-lib-path=/usr/lib/oracle/12.1/client64/lib --with-oracle-headers-path=/usr/include/oracle/12.1/client64
)
在我在 Eclipse 中的项目属性中,在我拥有的 GCC C 链接器的库搜索 (-L) 路径和我拥有/usr/lib/oracle/12.1/client64/lib and /usr/local/lib
的库 (-l) 中ocilib, clntsh, clntshcore, nnz12, mql1, ipc1, ons
(所有这些都是成功编译所必需的)。
当我尝试调试它时显示:error while loading shared libraries: libocilib.so.4: cannot open shared object file: No such file or directory
但是我有libocilib.so.4
(/usr/local/lib
它是指向 libocilib.so.4.0.1 的链接,我也有指向 libocilib.so.4.0.1 的链接 libocilib.so),所以我不知道为什么它无法加载该库。