2 qq 34017933 qq_34017933 于 2016.03.04 10:45 提问

c++ builder 调用pro*c

我想在c++ builder中连接oracle,通过proc实现。
我的方法如下:
1、在oracle的bin目录下,通过proc.exe将连接的oraCon.pc编译成oraCon.cpp
2、然后将oraCon.cpp添加到工程中,解决一些问题 后,在最后面有一个报错:[Linker Error] Unresolved external '_sqlcxt' referenced from E:\PROJECT\C++ BUILDER PJ\MYORACLE\DB_CON.OBJ
我将oci.dll及orasql11.dll都通过c++builder的implib.exe转成了lib文件添加到了工程中还是不行,为什么?

2个回答

hikarisamax
hikarisamax   2016.03.04 10:54
已采纳

找不到lib中的引用,libpath没设置正确

#pragma comment(lib, "c:\path1\path2\mylib.lib")

用这个这招看看

qq_34017933
qq_34017933 回复hikarisamax: 32位的库和64位的库,我都试过,网上大多说就是orasql11.lib和oci.dll这两个里面,我都有转换格式后调用,还是不行,orasql11.lib,我是网上找了一个orasql11.dll,然后通过implib.exe将这两个dll转换成lib,再调用的,还是不行
接近 2 年之前 回复
qq_34017933
qq_34017933 回复hikarisamax: 我刚自学builder,我想知道,这样弄行吗?builder调用proc可以实现吗?你说的coff2omf,我有转过,也还是不行,我现在倒是怀疑sqlcxt这函数到底是在oracle的哪个库里面了。
接近 2 年之前 回复
hikarisamax
hikarisamax 也许是coff2omf的问题,coff和omf的lib文件的格式不一样
接近 2 年之前 回复
qq_34017933
qq_34017933 添加后,还是不行。。
接近 2 年之前 回复
qq_34017933
qq_34017933 添加
接近 2 年之前 回复
qq_34017933
qq_34017933 添加
接近 2 年之前 回复
qq_34017933
qq_34017933   2016.03.04 15:26

谢谢,已经搞定,通过 proc连数据库,我只是建了一个def文件就好了,不过我也不知道这个文件是干嘛的,醉了

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!