- 论坛徽章:
- 0
|
请问一下,如果要在UNIX调用oci的oopen等函数,应该连接哪个库?谢谢
编译错误如下:
$ aCC +DD64 -DCHINESE -D__hpux__ -mt -DORACLE -g -o myoci myoci.o -L. -L/oracle/app/oracle/product/9.2.0.1/lib -L/oracle/app/oracle/product/9.2.0.1/rdbms/lib -lclntsh -lc
ld: Unsatisfied symbol "oerhms(cda_def *,short,unsigned char *,int)" in file myoci.o
ld: Unsatisfied symbol "oexec(cda_def *)" in file myoci.o
ld: Unsatisfied symbol "oparse(cda_def *,unsigned char *,int,int,unsigned int)" in file myoci.o
ld: Unsatisfied symbol "olog(cda_def *,unsigned char *,unsigned char *,int,unsigned char *,int,unsigned char *,int,unsigned int)" in file myoci.o
ld: Unsatisfied symbol "ofen(cda_def *,int)" in file myoci.o
ld: Unsatisfied symbol "odefin__FP7cda_defiPUcN32PsT3N22PUsT11" in file myoci.o
ld: Unsatisfied symbol "oopen(cda_def *,cda_def *,unsigned char *,int,int,unsigned char *,int)" in file myoci.o
ld: Unsatisfied symbol "ologof(cda_def *)" in file myoci.o
8 errors.
#################################################
在头文件中加入<oci.h>
连接时
改成
$ aCC -DCHINESE -D__hpux__ -mt -DORACLE -g -o myoci myoci.o -L. -L/oracle/app/oracle/product/9.2.0.1/lib32 -L/oracle/app/oracle/product/9.2.0.1/rdbms/lib -lclntsh -lc
用32位的东东。这样就能顺利编译连接通过,并能运行。
如果只加<oci.h>
还是这样连接,
$ aCC +DD64 -DCHINESE -D__hpux__ -mt -DORACLE -g -o myoci myoci.o -L. -L/oracle/app/oracle/product/9.2.0.1/lib -L/oracle/app/oracle/product/9.2.0.1/rdbms/lib -lclntsh -lc
能够通过,但是不能正常运行。老是core,这个问题怎么解决?
[ 本帖最后由 hanren 于 2006-9-3 19:28 编辑 ] |
|