pc文件编译后链接错误(mingw)

weekly123 2008-01-16 04:07:45
mingw+window+oracle9i环境
链接错误:
common/DBHandlerImpl.o:DBHandlerImpl.cpp:(.text+0x4966): undefined reference to `sqlorat(void**, unsigned int*, void*)'
common/DBHandlerImpl.o:DBHandlerImpl.cpp:(.text+0x49ef): undefined reference to `sqlcxt(void**, unsigned int*, sqlexd*, sqlcxp const*)'
collect2: ld returned 1 exit status

找不到sqlcxt和sqlorat定义,应该链接哪个库?怎么链接?
我试过将$(oracle_home)\ora92\bin\orasql9.dll用pexports,dlltool工具转换为orasql9.a后链接,可以减少一部分,最后还剩上面连个错误。
请各位帮忙.
...全文
96 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
diaowf 2008-08-19
  • 打赏
  • 举报
回复
cd $ORACLE_HOME/precomp/demo/proc
make -f demo_proc.mk build EXE=sample1 OBJS=sample1.o

这样的话,可以得到一个一览。就是那些编译时候的选项和需要的LIB.

看你的情况,修改你的MK文件,

在$ORACLE_HOME/bin目录下面,执行genclntsh,会得到libclntsh.so这个共享类库的。
qingbai 2008-08-07
  • 打赏
  • 举报
回复
直接连接orasql9.lib或orasql9.dll(注意路径),没任何问题。俺早在2002年给学生讲授proc/c++开发时就用mingw.
Croatia 2008-01-20
  • 打赏
  • 举报
回复
看一下本来的那个sample的例子吧。(demo_proc.mk这个文件)

cd $ORACLE_HOME/precomp/demo/proc
make -f demo_proc.mk build EXE=sample1 OBJS=sample1.o

这样的话,可以得到一个一览。就是那些编译时候的选项和需要的LIB.

看你的情况,修改你的MK文件,

在$ORACLE_HOME/bin目录下面,执行genclntsh,会得到libclntsh.so这个共享类库的。

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧