CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
【经验总结】不能实施并行处理的情况 浅谈并行编程中的任务分解模式
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

这是个什么错误?呵呵,一狠心

楼主neulf(快乐程序员)2002-04-10 12:50:02 在 VC/MFC / 基础类 提问

--------------------Configuration:   SMS   -   Win32   Debug--------------------  
  Compiling...  
  OASMS.cpp  
  Linking...  
  OASMS.obj   :   error   LNK2001:   unresolved   external   symbol   __imp__Login_R@8  
  OASMS.obj   :   error   LNK2001:   unresolved   external   symbol   __imp__IFInitInterface@12  
  Debug/SMS.dll   :   fatal   error   LNK1120:   2   unresolved   externals  
  Error   executing   link.exe.  
   
  SMS.dll   -   3   error(s),   0   warning(s)  
  问题点数:100、回复次数:37Top

1 楼ququshb(忘求了)回复于 2002-04-10 13:06:13 得分 0

什么东东没有连接撒Top

2 楼nanjianhui(nan)回复于 2002-04-10 13:08:53 得分 0

你可能有静态库没有连接,这种问题我遇到过好多次。Top

3 楼frankyao(穿越无边)回复于 2002-04-10 13:11:03 得分 0

VC重新启动一次  
  你将debug目录中内容全部删除,再编译一次  
  应该就没有问题了Top

4 楼neulf(快乐程序员)回复于 2002-04-10 13:17:15 得分 0

的确有两个文件,一个是.dll文件,一个是.lib,别人给我的,我不知道怎么连接呀Top

5 楼gigi_andy(小猪)回复于 2002-04-10 13:21:03 得分 0

在project里的setting选项link页加载library   modules即可Top

6 楼neulf(快乐程序员)回复于 2002-04-10 13:21:14 得分 0

错了,应该说连接了,但是总是连接不对Top

7 楼solar(天哪,忘了我是什么时候注册的了!)(int argc, char *argv[])回复于 2002-04-10 13:22:11 得分 0

Project->Settings->Link->Object/lib   Modules   加上你的.obj或.lib文件名,再Tools->opttions->directories->lib   directoris   加上路径即可Top

8 楼zaozi(枣子)回复于 2002-04-10 13:26:53 得分 0

有几种可能:  
  一:你程序的哪个函数文件名子打错了!使连接不上!  
  二:debug目录里面的文件属性为只读,你可以将他们都删了或者将属性改了  
  三:你的sms.dll文件没有在debug目录里,你可以将它拷贝到debug目录里面和主程序的.exe文件在一起  
  Top

9 楼neulf(快乐程序员)回复于 2002-04-10 13:27:50 得分 0

在project里的setting选项link页加载library   modules即可  
  我将路经都加上了C:\WINNT\system32\sms\SMEIDll.lib  
  不知道为什么还找不到Top

10 楼feifei2001(鼠标)回复于 2002-04-10 13:31:25 得分 0

这个问题我知道,你的工程项目里面少文件了。就是要用到的函数的文件。  
   
  你好好看看。Top

11 楼feifei2001(鼠标)回复于 2002-04-10 13:34:18 得分 0

还应该有一个动态库的头文件吧。把它加到工程里就   Ok   了。Top

12 楼neulf(快乐程序员)回复于 2002-04-10 13:39:53 得分 0

二:debug目录里面的文件属性为只读,你可以将他们都删了或者将属性改了  
  三:你的sms.dll文件没有在debug目录里,你可以将它拷贝到debug目录里面和主程序的.exe文件在一起  
  这两个问题都已经解决,可是~~~难道写错了名字?我怎么知道是否写错了呢?好像我是按照使用说明写的,能否找到dll中的名字?Top

13 楼zaozi(枣子)回复于 2002-04-10 13:40:41 得分 0

对了,你的程序中用到自己写*.dll了吗?Top

14 楼neulf(快乐程序员)回复于 2002-04-10 13:42:55 得分 0

动态库的头文件我没有哇,我自己加了extern   "C"   __declspec(dllimport   )   ……  
  不知道行不行?Top

15 楼zaozi(枣子)回复于 2002-04-10 13:43:59 得分 0

那个sms.dll是你自己编的吗,如果是系统的话,你就要把sms.lib加到编译的装入库里啊!就是在link页里面的那个!Top

16 楼delphihero(何去何从)回复于 2002-04-10 13:46:05 得分 0

把   .dll和   lib   考到debug   目录,和程序目录。  
  project->setting->link   里面加入   *.lib文件  
  或者   #pragma   comment(lib,"*.lib")在文件Top

17 楼neulf(快乐程序员)回复于 2002-04-10 14:39:23 得分 0

好像都已经做了,还是不行呀Top

18 楼ericzhangali(另一个空间)回复于 2002-04-10 14:48:24 得分 10

http://www.csdn.net/expert/topic/634/634410.xml?temp=.3623468Top

19 楼lanfan(蓝色的帆)回复于 2002-04-10 14:49:48 得分 10

直接将dll加到头文件里算了,importTop

20 楼zxs218(Frank Zhou)回复于 2002-04-10 14:54:28 得分 0

将OASMS.cpp的文件名改成OASMS.c再编译试试Top

21 楼maoqingfeng(千里孤坟)回复于 2002-04-10 14:55:10 得分 0

csdn真是没天理,我的问题和他一样,为什么这儿那么多人,我那就没人。就因为分少吗Top

22 楼neulf(快乐程序员)回复于 2002-04-10 14:56:16 得分 0

直接将dll加到头文件里算了,import  
  怎么import?Top

23 楼zxs218(Frank Zhou)回复于 2002-04-10 15:02:23 得分 10

C++和C生成的动态连接库的符号表达是不一样的,如果你的库是用C的方法连接的,在C++环境下连接就会出错。  
  你应该试试:  
   
  将OASMS.cpp的文件名改成OASMS.c再编译。  
   
  Top

24 楼neulf(快乐程序员)回复于 2002-04-10 15:08:16 得分 0

to   zxs218(Frank   Zhou):  
  是呀,可能是个C的库,我怎么在C++的环境下能用呢?谢谢你了Top

25 楼zxs218(Frank Zhou)回复于 2002-04-10 15:22:20 得分 10

在你用的动态连接库头文件中使用  
   
  extern   "C"   {  
   
  }  
   
  将所用的声明包含其中。Top

26 楼neulf(快乐程序员)回复于 2002-04-10 15:31:28 得分 0

你的意思是类似这样吗?  
  extern   "C"   __declspec(dllimport   )   BOOL   WINAPI   IFInitInterface(DWORD   dwCodeProtocol,   DWORD   dwDriverProtocol,   LPCTSTR   pDriverParam);  
  我加了呀Top

27 楼zxs218(Frank Zhou)回复于 2002-04-10 15:39:12 得分 10

 
  __declspec(dllimport   )  
   
  把它去掉在试试看。Top

28 楼neulf(快乐程序员)回复于 2002-04-10 15:47:41 得分 0

还是不对Top

29 楼neulf(快乐程序员)回复于 2002-04-10 15:50:24 得分 0

唉,痛苦Top

30 楼zxs218(Frank Zhou)回复于 2002-04-10 15:53:07 得分 10

现在的错误和刚才一样吗?  
   
  实在不行,你把extern   "C"   再去掉。Top

31 楼neulf(快乐程序员)回复于 2002-04-10 16:02:36 得分 0

错误一样,对了,我加入这条语句还需要一个与.dll对应的.h文件吗?因为我已经知道方法了,不需要了吧Top

32 楼neulf(快乐程序员)回复于 2002-04-10 16:18:50 得分 0

我好痛苦呀,兄弟们Top

33 楼neulf(快乐程序员)回复于 2002-04-10 16:31:56 得分 0

兄弟们救命呀,都急着回家么?Top

34 楼zaozi(枣子)回复于 2002-04-10 17:11:11 得分 10

你把代码发给我一份,我调试看看!Top

35 楼zaozi(枣子)回复于 2002-04-10 17:23:25 得分 10

对了,给你我的信箱:wutao8@263.netTop

36 楼neulf(快乐程序员)回复于 2002-04-11 10:34:22 得分 0

已经解决了,呵呵,谢谢大家了Top

37 楼zaozi(枣子)回复于 2002-04-11 16:38:56 得分 10

那要给分啊Top

38 楼zaozi(枣子)回复于 2002-04-11 19:16:14 得分 10

你不是是一狠心......吗?  
  怎么,不给分的吗?Top

相关问题

  • 这个错误是什么?
  • 这是个什么错误??
  • 这个是什么错误?
  • 这个……什么错误?
  • 这个错误为什么??
  • 这个错误是什么?
  • 这个是什么错误??
  • 这个是什么错误?
  • 这个是什么错误?
  • 这个是什么错误!!!

关键词

  • .net
  • c++
  • 文件
  • 编译
  • sms
  • 文件名
  • 属性
  • 连接
  • debug
  • dll

得分解答快速导航

  • 帖主:neulf
  • ericzhangali
  • lanfan
  • zxs218
  • zxs218
  • zxs218
  • zxs218
  • zaozi
  • zaozi
  • zaozi
  • zaozi

相关链接

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

广告也精彩

反馈

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