在VC中调用C++Builder生成的动态连接库
tim 2000-01-25 05:32:00 最近用VC(6.0)调用一个用C++Builder生成的动态连接库,遇到点麻烦,还请高手援手。
在CBuilder中代码如下:
extern "C" void WINAPI __declspec(dllexport) ShowAbout()
{
...
}
生成动态连接库tim.dll后,用dumpbin /EXPORTS tim.dll 查看,有:
...
8 7 ShowAbout
9 8 _Form1
...
于是写了一个tim.def文件,其中有:
ShowAbout @8
再用 lib /DEF:tim.dll 生成 tim.lib 及 tim.exp
在VC写的程序中加入以下代码:
extern "C"
{
void _delcspec(dllexport)ShowAbout(void);
}
void CMainFrame::OnAppAbout()
{
ShowAbout();
}
编译通过,但连接时出现:
"error LNK2001: unresolved external symbol _ShowAbout"
猜想可能是编译器产生符号的方法不同,于是将CBuilder中ShowAbout改为_ShowAbout,按以上过程重新做一遍,结果在DLL中的符号的确为_ShowAbout了,但连接时仍出现
"error LNK2001: unresolved external symbol _ShowAbout"
请各位帮忙,多谢。