shen_li
驱动牛犊
驱动牛犊
  • 注册日期2002-06-25
  • 最后登录2003-03-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1341回复:4

动态库,链接问题

楼主#
更多 发布于:2002-12-27 15:08
我的应用程序要使用动态库中的函数,此函数在pciapi.H文件中的申明为
BYTE __declspec(dllexport)
DriverVersion(
    void   *hDevice,
    BYTE     *VersionMajor,
    BYTE     *VersionMinor,
    BYTE     *VersionRevision
    );
在动态库.c文件中的定义为
BYTE
DriverVersion(
    void  *hDevice,
    BYTE     *VersionMajor,
    BYTE     *VersionMinor,
    BYTE     *VersionRevision
    )
{
......
}
动态库已编译通过。
应用程序.c文件中为
#include \"pciapi.h\"
...
main()
{
   ...
   DriverVersion(
     void  *hDevice,
     BYTE     *VersionMajor,
     BYTE     *VersionMinor,
     BYTE     *VersionRevision
     );
   ...

}
编译链接时提示:
error LNK2001: unresolved external symbol _DriverVersion
请大家帮帮忙,指点一下!!!
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-12-27 15:46
包含dll编译后的lib文件在你的应用程序中
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
shen_li
驱动牛犊
驱动牛犊
  • 注册日期2002-06-25
  • 最后登录2003-03-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-12-27 16:42
我已经把.lib放在了应用程序中
shen_li
驱动牛犊
驱动牛犊
  • 注册日期2002-06-25
  • 最后登录2003-03-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-12-27 16:55
我干脆将dll中的c文件加到应用程序中,编译链接就通过了,我再将这个c文件去掉,编译链接也没问题。真是奇怪?
Gong_XG
驱动太牛
驱动太牛
  • 注册日期2002-10-01
  • 最后登录2010-11-25
  • 粉丝0
  • 关注0
  • 积分313分
  • 威望46点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-12-31 14:54
我记得以前,我用dll时,需要在vc++的一项中添加lib,并将头文件添加到工程中(就好像我们使用时,必须事先声明)。
游客

返回顶部