在Oracle9.2.0.1版本下通过Proc编译得到的cpp文件在VC++中编译不通过,报下面的错误
error LNK2001: unresolved external symbol "void __cdecl sqlcxt(void * *,unsigned int *,struct sqlexd *,struct sqlcxp const *)" (?sqlcxt@@YAXPAPAXPAIPAUsqlexd@@PBUsqlcxp@@@Z)
E:\工作目录\中科信\offer9I\StockOffer\Debug\OracleDBCon.dll : fatal error LNK1120: 1 unresolved externals
 
我尝试过用以下各种方法编译都不行
C:>proc win32_threads=true maxopencursors=100 prefetch=100 oname=E:\tmp\ODatabase2.cpp E:\tmp\ODatabase.pc
 
C:>proc win32_threads=true maxopencursors=100 prefetch=100 type_code=ansi mode=ansi dynamic=ansi oname=E:\tmp\ODatabase2.cpp E:\tmp\ODatabase.pc
 
......
 
用Oracle9.2以前的版本编译没有任何问题那位大虾指点一下,谢谢了

解决方案 »

  1.   

    这个很简单
    就是链接库没有设置对!
    以前碰到过
    我用得是oracle 9.1我得解决办法是用dumpbin把oracle带得lib文件中得函数显示出来,看看函数sqlcxt在那个lib中,然后在编译得链接选项中加入这个lib就ok了对了proc对C++得支持不是很好,至少在VC环境中编程中又很多地方需要自己手动修改
      

  2.   

    当然了也要包含相应得dll文件
      

  3.   

    到oracle目录下搜索orasql*.lib把找到的文件名包含的工程中.
      

  4.   

    我把oraSQL9.LIB已经加到工程中了,还是不行。
    oracle 9.1我试过是可以的。不知道oracle 9.2还有什么特殊的要求