高手好,我是刚刚接触ORACLE数据库.有一个编译问题.我编写了一个pro*c程序,然后用proc iname=filename oname=ofilename code=cpp parse=none命令预编译后,再用g++ filename -o ofilename编译时,出现如下错误:
/usr/ccs/bin/ld: Unsatisfied symbols:
   sqlcxt (first referenced in /var/tmp//cc31VYNc.o) (code)
collect2: ld returned 1 exit status这是什么错误?为什么会这样?如何解决?另外一个问题:我用proc code=kr_c命令进行预编译后,好多函数的参数都被注释掉了,这个怎么解决?是不是需要设置其他参数以适应该选项呀?我是十分郁闷了.谢谢高手了.

解决方案 »

  1.   

    我想应该需要链接libclntsh.a,该文件在$ORACLE_HOME/lib下面,即:
    g++ filename -o ofilename -L$ORACLE_HOME/lib -lclntsh
      

  2.   

    oracle 安装后proc的编译工具,设置好参数 
    option 参考:
    code=CPP char_map=string sqlcheck=semantics parse=partial include=C:\xxxx\inc include=C:\xxx\include include="D:\xxx" sys_include="C:\Program Files\Microsoft Visual Studio\VC98\Include"