[Linker Error] Unresolved external '_SQLConnect' referenced from D:\PROGRAM FILES\BORLAND\CBUILDER5\PROJECTS\DATEBASE\UNIT1.OBJ
[Linker Error] Unresolved external '_SQLAllocHandle' referenced from D:\PROGRAM FILES\BORLAND\CBUILDER5\PROJECTS\DATEBASE\UNIT1.OBJ
[Linker Error] Unresolved external '_SQLFreeHandle' referenced from D:\PROGRAM FILES\BORLAND\CBUILDER5\PROJECTS\DATEBASE\UNIT1.OBJ
[Linker Error] Unresolved external '_SQLExecDirect' referenced from D:\PROGRAM FILES\BORLAND\CBUILDER5\PROJECTS\DATEBASE\UNIT1.OBJ
[Linker Error] Unresolved external '_SQLBindCol' referenced from D:\PROGRAM FILES\BORLAND\CBUILDER5\PROJECTS\DATEBASE\UNIT1.OBJ
[Linker Error] Unresolved external '_SQLFetch' referenced from D:\PROGRAM FILES\BORLAND\CBUILDER5\PROJECTS\DATEBASE\UNIT1.OBJ
11 个解决方案
#1
你使用的这个函数引用没有对应的Obj文件,一般
没有包含到工程文件中,是不是没有找到对应的Lib文件?
没有包含到工程文件中,是不是没有找到对应的Lib文件?
#2
有没有包含对应的头文件,你是采用什么调用,静态调用,还是动态调用。有些API函数在引用时需要加上一些预编译指令。
#3
我已经include了sql.h和sqlext.h了,在编译的时候都没有错,就是在link的时候,所有API函数前面都被自动加了_ ,例如,SQLFetch变成了_SQLFetch,所以没找到,但不知为何会这样???有什么解决办法
#4
查找.OBJ文件
编译一下第三方控件
加入第三方控件的pbl
编译一下第三方控件
加入第三方控件的pbl
#5
to zzzsssccc(天空):听不懂你的意思,能详细一点吗?
#6
应该是你的工程里面没有加入相关的LIB:
在BCB50的LIB下查找含有"SQLConnect"的文件,有如下四个文件:
VCLBDE50.LIB
BDE.DCU
VCLBDE50.DCP
ODBC32.LIB
你如果用BDE的话,可能加VCLBDE50.LIB到工程里
在BCB50的LIB下查找含有"SQLConnect"的文件,有如下四个文件:
VCLBDE50.LIB
BDE.DCU
VCLBDE50.DCP
ODBC32.LIB
你如果用BDE的话,可能加VCLBDE50.LIB到工程里
#7
_是BCB编译器自己加的,你查不到。。
你看看unit1这个单元是否加入了你的工程中了。我觉得应该是这个问题。
project->add->选unit1.cpp加入工程
你看看unit1这个单元是否加入了你的工程中了。我觉得应该是这个问题。
project->add->选unit1.cpp加入工程
#8
老兄,我已经测试成功,就是将Lib\Psdk\下的ODBC32.LIB加入到你的工程里去:
当然我的测试代码很简单(参数全0,呵呵):
void __fastcall TForm1::Button1Click(TObject *Sender)
{
SQLConnect(0,0,0,0,0,0,0);
}
当然我的测试代码很简单(参数全0,呵呵):
void __fastcall TForm1::Button1Click(TObject *Sender)
{
SQLConnect(0,0,0,0,0,0,0);
}
#9
对就是将这个lib(ODBC32.lib)加入到你的工程中去
#10
还是老错误,怎么都不行,看来我还是用VC写得了
#11
算了,结分了
#1
你使用的这个函数引用没有对应的Obj文件,一般
没有包含到工程文件中,是不是没有找到对应的Lib文件?
没有包含到工程文件中,是不是没有找到对应的Lib文件?
#2
有没有包含对应的头文件,你是采用什么调用,静态调用,还是动态调用。有些API函数在引用时需要加上一些预编译指令。
#3
我已经include了sql.h和sqlext.h了,在编译的时候都没有错,就是在link的时候,所有API函数前面都被自动加了_ ,例如,SQLFetch变成了_SQLFetch,所以没找到,但不知为何会这样???有什么解决办法
#4
查找.OBJ文件
编译一下第三方控件
加入第三方控件的pbl
编译一下第三方控件
加入第三方控件的pbl
#5
to zzzsssccc(天空):听不懂你的意思,能详细一点吗?
#6
应该是你的工程里面没有加入相关的LIB:
在BCB50的LIB下查找含有"SQLConnect"的文件,有如下四个文件:
VCLBDE50.LIB
BDE.DCU
VCLBDE50.DCP
ODBC32.LIB
你如果用BDE的话,可能加VCLBDE50.LIB到工程里
在BCB50的LIB下查找含有"SQLConnect"的文件,有如下四个文件:
VCLBDE50.LIB
BDE.DCU
VCLBDE50.DCP
ODBC32.LIB
你如果用BDE的话,可能加VCLBDE50.LIB到工程里
#7
_是BCB编译器自己加的,你查不到。。
你看看unit1这个单元是否加入了你的工程中了。我觉得应该是这个问题。
project->add->选unit1.cpp加入工程
你看看unit1这个单元是否加入了你的工程中了。我觉得应该是这个问题。
project->add->选unit1.cpp加入工程
#8
老兄,我已经测试成功,就是将Lib\Psdk\下的ODBC32.LIB加入到你的工程里去:
当然我的测试代码很简单(参数全0,呵呵):
void __fastcall TForm1::Button1Click(TObject *Sender)
{
SQLConnect(0,0,0,0,0,0,0);
}
当然我的测试代码很简单(参数全0,呵呵):
void __fastcall TForm1::Button1Click(TObject *Sender)
{
SQLConnect(0,0,0,0,0,0,0);
}
#9
对就是将这个lib(ODBC32.lib)加入到你的工程中去
#10
还是老错误,怎么都不行,看来我还是用VC写得了
#11
算了,结分了