bcb中静态调用vc生成的dll,输出的类怎么用呀?

nalan1976 2003-09-05 11:52:33
vc生成的dll是一个directx的封装类,.h文件如下:

class __declspec(dllexport) CDXScreen
{
public:
CDXScreen();
~CDXScreen();
...
}

我用了bcb带的工具implib重新生成.lib文件,加入了bcb的项目中,并加入了上面的.h文件,再把.dll放入相应目录,编译时没有问题,可是连接时一碰到用到类里面东西的代码,就出错.比如:
g_pScreen = new CDXScreen();
时,就报
[Linker Error] Unresolved external 'CDXScreen::~CDXScreen()' referenced from D:\CVSHOME\PRODUCTS\MINIGAME2\MODULES\HALL\CPP\UNIT1.OBJ
[Linker Error] Unresolved external 'CDXScreen::CDXScreen()' referenced from D:\CVSHOME\PRODUCTS\MINIGAME2\MODULES\HALL\CPP\UNIT1.OBJ

有哪位大侠能够指点一下,谢谢!!!

...全文
47 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
nalan1976 2003-09-09
  • 打赏
  • 举报
回复
好了,我用bcb又重编了一个dll,实在是搞不定,给分了.
kingcaiyao 2003-09-06
  • 打赏
  • 举报
回复
VC的调用方式默认采用_cdecl,这与BCB不同,所以你在将dll转换成lib时,需要带一个参数,可用implib -a *.lib *.dll试试
nalan1976 2003-09-05
  • 打赏
  • 举报
回复
有啊,都是很完整的
gloom 2003-09-05
  • 打赏
  • 举报
回复
你的类中没有CDXScreen的实现代码?
gloom 2003-09-05
  • 打赏
  • 举报
回复
我怀疑是VC的默认函数调用方式与BCB的默认函数调用方式不同引起的,而且VC喜欢给函数改名,
Behard 2003-09-05
  • 打赏
  • 举报
回复
可能是可以的

不过我曾试了一个星期都没有成功,就放弃了
大恒图形卡cg300驱动 ~~~~~~图像采集卡软件开发包说明~~~~~ Copyright (C) 1991-2006 China Daheng Group, Inc. Beijing Image Vision Technology Branch All Rights Reserved www.daheng-image.com ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 安装源目录及文件说明 软件开发包安装目录: \Setup 具体安装过程参考图像采集卡使用说明书 安装完毕后,根据选择的开发工具,在用户指定目录下包含: +-----------+---- 可执行程序 | | | +---- 用于开发示例的简单函数 | | | +---- 头文件 | | | +---- 静态库 | | | +---- 开发示例,需要用VC6打开编译 | +-----------+---- 图像卡接口、Win32API等声明文件 | | | +---- 开发示例,需要用VB6打开编译 | +----------+---- 图像卡接口声明文件、静态库文件(BCB6可用) | | | +---- 开发示例,需要用BCB6打开编译 | +-------+---- 图像卡接口声明文件 | +---- 开发示例,需要用Delphi6打开编译 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 更新日期:2006/12/19 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 更新软件开发包安装程序Setup.exe。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 更新日期:2006/03/07 当前版本:1.02.0009 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. 为保证软件开发包及示例程序正常运行,需要相应图像卡驱动程序2006/03/07及以后发布的版本。 2. 增加对DH-VT120、DH-VT123、DH-VT142图像卡的支持。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 更新日期:2004/04/19 当前版本:1.02.0006 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. 由于在VB环境下不支持多线程调用回调函数,修改VB开发接口SDK,去掉CGOpenSnapEx、CGStartSnapEx、CGStopSnapEx、CGCloseSnapEx函数,以及DoubleBufferSnapEx示例程序。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 更新日期:2003/12/08 当前版本:1.02.0005 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. 为保证软件开发包及示例程序正常运行,需要相应图像卡驱动程序2003/12/08及以后发布的版本。 2. 增加对DH-VT121图像卡的支持。 3. 修改CGSetDelay接口,统一所有图像卡的Delay默认值(0,0)。 4. 提高CGCaptureEx性能。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 更新日期:2003/08/08 当前版本:1.02.0004 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. 为保证软件开发包及示例程序正常运行,需要相应图像卡驱动程序2003/08/08及以后发布的版本。 2. 修改CGSetOutput实现,同时在CGCapture、CGCaptureShot,CGCapture

1,222

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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