CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  进程/线程/DLL

怎么回事?????在线等待

楼主athunwer(断点)2003-01-02 10:26:16 在 VC/MFC / 进程/线程/DLL 提问

自己的Dll,  
  定义了头文件   my.h  
  #define   DllExport   __declspec(dllexport)  
  #define   DllImport   __declspec(dllimport)  
   
  #ifdef   __NETCOMMDLL_IMPLEMENTATION__  
  #define   DllFunction   DllExport  
  #else  
  #define   DllFunction   DllImport  
  #endif  
   
  对话框中使用此my.h中的DLL输出函数  
  但是在编译出错如下:  
   
  Linking...  
  RTDB.obj   :   error   LNK2001:   unresolved   external   symbol   __imp__BeginWaitForConnect  
  Debug/RTDB.exe   :   fatal   error   LNK1120:   1   unresolved   externals  
  Error   executing   link.exe.  
   
  不知是什么错误,怎么解决???? 问题点数:100、回复次数:14Top

1 楼rtdb(东临碣石)回复于 2003-01-02 11:29:32 得分 0

你用了__imp__BeginWaitForConnect这个函数,  
  但没有LINK它的库。Top

2 楼rtdb(东临碣石)回复于 2003-01-02 11:30:45 得分 0

你用了__imp__BeginWaitForConnect这个函数,  
  但没有LINK它的库。Top

3 楼athunwer(断点)回复于 2003-01-02 11:34:00 得分 0

如何连接;  
  我已设置     Link中的参数了,包含了所需的lib;  
  还需要走什么?Top

4 楼rtdb(东临碣石)回复于 2003-01-02 12:05:05 得分 25

给的错误信息就是说在你给的库中找不到__imp__BeginWaitForConnect。  
   
  这不象是标准库函数,   是你们自己或是第三方的。  
  而且只有这一个,   也许是头文件和库不匹配。Top

5 楼athunwer(断点)回复于 2003-01-02 12:23:44 得分 0

自定义的库函数  
   
  #ifndef   __NETCOMM_H__  
  #define   __NETCOMM_H__  
   
  //   Public   interface   file.  
   
  #ifndef   _WINDOWS_  
  #include   <windows.h>  
  #endif  
   
  typedef   unsigned   short     u_short;  
   
  #ifdef __cplusplus  
  extern   "C"   {  
  #endif  
   
  #define   DllExport   __declspec(dllexport)  
  #define   DllImport   __declspec(dllimport)  
   
  #ifdef   __NETCOMMDLL_IMPLEMENTATION__  
  #define   DllFunction   DllExport  
  #else  
  #define   DllFunction   DllImport  
  #endif  
   
   
  #define   UDP_REPETITIONTIME   10  
   
  #define   UDP_UNITLENGTH   (512-sizeof(DWORD))    
  #define   TCP_UNITLENGTH   (1024*sizeof(DWOR))  
   
   
  DllFunction   DWORD   BeginWaitForConnect(HWND hWindow,UINT nMsg,DWORD *pdwId);  
   
  DllFunction   void   ErrorLog(WPARAM   subsystemId)   ;  
   
  #ifdef __cplusplus  
  }  
  #endif  
   
  #endif  
  Top

6 楼prglib(多多)回复于 2003-01-02 15:40:31 得分 25

可能是你的函数BeginWaitForConnect在编译后被改名了你可以在自定义函数库的netcom.def文件中强制输出BeginWaitForConnect,而且好像你的库函数不是用vc编译的,如果不是,最好用vc编译一下。Top

7 楼In355Hz(好象一条狗)回复于 2003-01-02 16:52:34 得分 0

__NETCOMMDLL_IMPLEMENTATION__   是否在编译时定义?  
   
  DllFunction   DWORD   BeginWaitForConnect(HWND   hWindow,   UINT   nMsg,   DWORD   *pdwId);  
  在   .cpp   的实现中,该函数的定义是否和头文件一支?Top

8 楼athunwer(断点)回复于 2003-01-02 17:21:45 得分 0

Dll中使用的头文件和应用对话框中使用的是同一个头文件,  
  dll的实现文件中定义了__NETCOMMDLL_IMPLEMENTATION__  
   
  在使用隐式调用时出现此错误,但是在显式(GetProcAddress)调用时无错,Top

9 楼In355Hz(好象一条狗)回复于 2003-01-02 17:34:43 得分 25

奇怪,隐式调用时   DLL   的   .lib   文件包含到工程里了吧?Top

10 楼athunwer(断点)回复于 2003-01-02 17:35:34 得分 0

to:     In355Hz  
   
  DllFunction   DWORD   BeginWaitForConnect(HWND   hWindow,   UINT   nMsg,   DWORD   *pdwId);  
  在   .cpp   的实现中,该函数的定义是否和头文件一支?  
   
  如果不一直,此Dll库不能build!  
  而我得dll已经编译成功,显式调用无误  
  Top

11 楼athunwer(断点)回复于 2003-01-02 17:44:22 得分 0

to:     In355Hz  
   
  偶是初学者,  
   
  偶在Link中Object/Library   Modules中设置了要包含的.lib和对应的路径。  
   
  不知道是否算把dll包含进工程中了  
   
  如果没有的话,还要做些什么?  
   
  我只看了几个例子,没找到好的教材系统的学习Top

12 楼athunwer(断点)回复于 2003-01-02 18:58:19 得分 0

谁帮我???Top

13 楼ruihuahan(飞不起来的笨鸟)回复于 2003-01-03 11:26:56 得分 25

好像是函数名称修饰的问题。  
  调用时用的是extern   "C",而编译.dll是用的是C++编译。  
  所以会出现文件名称的不匹配。Top

14 楼athunwer(断点)回复于 2003-01-03 12:57:13 得分 0

算了,看来大家都没碰到这种问题,可能我写的代码有问题!  
   
  散分,见着有份!Top

相关问题

  • 这是怎么回事?——在线等待
  • 帮帮我,这是怎么回事?在线等待
  • 使用CTpyedPtrArray模版出错,怎么回事呢?在线等待
  • Query.Edit出错是怎么回事??急急急。在线等待
  • 这行有错误!!到底怎么回事??? 在线等待
  • 这个问题是怎么回事? NULL 处理!在线等待!
  • 服务器系统警告怎么回事?在线等待
  • sql执行时出错:error creating cursor handle 怎么回事?在线等待
  • 我的WIN ME不能关机了。是怎么回事呀???在线等待.
  • 这个程序到底怎么回事(在线等待,立即加分)

关键词

  • 函数
  • 编译
  • 文件
  • dll
  • beginwaitforconnect
  • dllfunction
  • netcommdll
  • pdwid
  • 库
  • dllexport

得分解答快速导航

  • 帖主:athunwer
  • rtdb
  • prglib
  • In355Hz
  • ruihuahan

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo