启动程序和libocci.so.11.1:无法打开共享对象文件:没有这样的文件或目录
Startup program and libocci.so.11.1: cannot open shared object file: No such file or directory
请任何人节省我的时间.我的应用程序是用C ++编写的,我试图在ubuntu linux中启动时启动,但是当程序尝试启动它时,会记录错误,例如:-加载共享库时出错:libocci.so.11.1:无法打开共享对象文件:没有此类文件或目录我的程序使用Oracle API:-我的启动服务脚本是用/etc/init.d/sistartup 编写的:-
#!/bin/sh
# chkconfig: 345 99 10
OWNER=aki
case "$1" in
'start')
su $OWNER -c "/home/aki/sis_script/startsis.sh >> /home/aki/sis_script/sistartup.log 2>&1" &
# touch /var/lock/subsys/sis_engine
;;
esac
在适当用户上编写的启动脚本是:-/home/aki/script/startsis.sh
#!/bin/bash
export TMP=/tmp
export TMPDIR=$TMP
export PATH=/usr/sbin:/usr/local/bin:$PATH
# Start db_test
./home/aki/summ/db_test
我的c ++示例test_db.cpp应用程序写如下:-
#include <iostream>
#include <occi.h>
#include <string>
using namespace oracle::occi;
using namespace std;
Environment *env;
Connection *con;
int main(){
string user;
string passwd;
string db;
user ="sis";
passwd = "sis10";
db = "localhost:1521/sisdba";
env = Environment::createEnvironment((Environment::Mode)(Environment::OBJECT|Environment::THREADED_MUTEXED));
con = env->createConnection(user, passwd, db);
while(1){
cout<<"Here i have some business which is related to oracle database "<<endl;
}
return 0;
}
以这种方式编译文件后
g++ -o db_test test_db.cpp -I$ORACLE_HOME/rdbms/public -L$ORACLE_HOME/lib -locci -lclntsh
我看到此错误:- 加载共享库时出错:libocci.so.11.1:无法打开共享对象文件:没有此类文件或目录
如果您必须在构建命令行上提供-L$ORACLE_HOME/lib
,这对我来说表明这些库不在系统的任何库路径中,因此它们不会在运行时自动找到。
您可以通过在运行程序之前设置LD_LIBRARY_PATH=$ORACLE_HOME/lib
来确认此理论;然后它应该可以工作。但是,根据您的要求,这可能只值得临时解决方法(我假设$ORACLE_HOME
可用!更长期的解决方法可能是将此路径添加到 /etc/ld.so.conf
,尽管这将影响系统上的所有可执行文件。
最终,您应该遵循库的安装说明。
libocci.so.11.1 是否成功安装?
相关文章:
- CMake-按正确顺序将项目与C运行时对象文件链接
- 如何在h文件中包含.o对象文件
- 如何使用单独文件中的派生类访问友元函数对象
- QML:修改在不同QML文件(而非main.QML)中定义的子对象的属性
- 使用逗号解析文件对象?
- 使用 CIN COUT 显示垃圾值的文件对象?
- 如何确保我的"ifstream"文件对象指向的文件内容已更新?
- 如何从 GDI+ 图元文件对象获取原始图元文件字节
- pyQt5 将文件对象传递给 QWebEngineView
- 从文件对象的当前位置删除字符
- 使用相同的文件对象按顺序写入和读取文件
- 将 ETW 文件对象与 DiskIO 事件相关联
- 如何在构建时将 JSON 文件/对象包含在C++中
- 如何使用运算符<<通过 << 将文件对象馈送到我的类?
- 确定两个文件路径引用同一文件对象的最佳方法是什么
- 文件映射对象和文件对象可以互换使用吗
- 如何判断给定点是否在STereoLithography(.stl)文件对象c++内
- 如何使用Windows Portable Devices C++API获取MTP设备公开的文件夹中的所有文件(对象)的列
- 如何使用结构传递文件对象
- 文件对象->文件名不返回文件的完整路径