我之前编译时链接的 oracle 11g 的 libaidb_ora.so ,没有这个问题,发送给客户,客户说他们用的是 oracle 10g 的,所以我把 libaidb_ora.so 换成了客户现场的 oracle 10g 的版本,重新编译 psagent_single 报错
编译命令如下:
CC -g -DSunOS -o psagent_single ps_main.o ps_global.o ABSDatabase.o ps_config_attr.o ps_shlib.o ps_action.o ps_config.o ps_prov_record.o ps_provision.o datetime.o ps_daemon.o ps_pid_file.o ps_queue.o -L/tank/data/build/test1/obs61_vb3.3/center/lib -L/aitools/lib -L/tank/data/build/test1/obs61_vb3.3/platform/lib -L/tank/data/build/test1/obs61_vb3.3/sdk/lib -lldap -llber -laidb_ora -ltcl8.2 -laiplatform -ldes -ldesm -lclogfile -ldl
报错信息:
Undefined first referenced
symbol in file
cout /tank/data/build/test1/obs61_vb3.3/platform/lib/libaidb_ora.so
unsafe_ostream::operator<<(long) /tank/data/build/test1/obs61_vb3.3/platform/lib/libaidb_ora.so
operator delete(void*) /tank/data/build/test1/obs61_vb3.3/platform/lib/libaidb_ora.so
operator new(unsigned int) /tank/data/build/test1/obs61_vb3.3/platform/lib/libaidb_ora.so
Iostream_init::Iostream_init(void) /tank/data/build/test1/obs61_vb3.3/platform/lib/libaidb_ora.so
Iostream_init::~Iostream_init(void) /tank/data/build/test1/obs61_vb3.3/platform/lib/libaidb_ora.so
aiCfg::getHandler(void) /tank/data/build/test1/obs61_vb3.3/platform/lib/libaidb_ora.so
endl(ostream&) /tank/data/build/test1/obs61_vb3.3/platform/lib/libaidb_ora.so
unsafe_ostream::outstr(const char*, const char*) /tank/data/build/test1/obs61_vb3.3/platform/lib/libaidb_ora.so
ld: fatal: Symbol referencing errors. No output written to psagent_single
make: *** [psagent_single] Error 1
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.