oracle原来使用的是32位的版本,在移植到64位的时候,编译可以通过,但是在运行的时候,在连接数据库的时候发生了崩溃现象。
(gdb) bt full
#0 0x00007f465961084f in sqlcas () from /opt/oracle/product/10.2.0/db_1/lib/libclntsh.so.10.1No symbol table info available.#1 0x00007f46595fe3d7 in sqlexp () from /opt/oracle/product/10.2.0/db_1/lib/libclntsh.so.10.1No symbol table info available.#2 0x00007f46595f6e2d in sqlcmex () from /opt/oracle/product/10.2.0/db_1/lib/libclntsh.so.10.1No symbol table info available.#3 0x00007f46595f7548 in sqlcxt () from /opt/oracle/product/10.2.0/db_1/lib/libclntsh.so.10.1
经过研究发现是因为.pc文件在64位环境下没有通过proc重新预编译生成新的cpp文件导致的。花费了很长时间。