error LNK2019 谁能解决啊

pleasechangegreat 2008-10-08 09:45:40
error LNK2019: 无法解析的外部符号 __imp__RpcServerListen@12,该符号在函数 "int __cdecl InitService(void)" (?InitService@@YAHXZ) 中被引用
1>server.obj : error LNK2019: 无法解析的外部符号 __imp__RpcBindingVectorFree@4,该符号在函数 "int __cdecl InitService(void)" (?InitService@@YAHXZ) 中被引用
1>server.obj : error LNK2019: 无法解析的外部符号 __imp__RpcNsBindingExportW@20,该符号在函数 "int __cdecl InitService(void)" (?InitService@@YAHXZ) 中被引用
1>server.obj : error LNK2019: 无法解析的外部符号 __imp__RpcServerInqBindings@4,该符号在函数 "int __cdecl InitService(void)" (?InitService@@YAHXZ) 中被引用
1>server.obj : error LNK2019: 无法解析的外部符号 __imp__RpcServerRegisterIf@12,该符号在函数 "int __cdecl InitService(void)" (?InitService@@YAHXZ) 中被引用
1>server.obj : error LNK2019: 无法解析的外部符号 __imp__RpcServerUseAllProtseqsIf@12,该符号在函数 "int __cdecl InitService(void)" (?InitService@@YAHXZ) 中被引用
1>server.obj : error LNK2001: 无法解析的外部符号 _motfunc_v1_0_s_ifspec
1>server.obj : error LNK2019: 无法解析的外部符号 __imp__RpcMgmtWaitServerListen@0,该符号在函数 "void __cdecl PauseService(void)" (?PauseService@@YAXXZ) 中被引用
1>server.obj : error LNK2019: 无法解析的外部符号 __imp__RpcMgmtStopServerListening@4,该符号在函数 "void __cdecl PauseService(void)" (?PauseService@@YAXXZ) 中被引用
1>server.obj : error LNK2019: 无法解析的外部符号 __imp__RpcServerUnregisterIf@12,该符号在函数 "void __cdecl terminate(unsigned long)" (?terminate@@YAXK@Z) 中被引用
1>server.obj : error LNK2019: 无法解析的外部符号 __imp__RpcNsBindingUnexportW@16,该符号在函数 "void __cdecl terminate(unsigned long)" (?terminate@@YAXK@Z) 中被引用


编译器是VC2005,在线等。
...全文
4077 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
莫忧 2011-01-13
  • 打赏
  • 举报
回复
怎么确定我调用的是哪个dll,应该加的是哪个lib呢
pleasechangegreat 2008-10-08
  • 打赏
  • 举报
回复
问题解决了。#pragma comment(lib,"Rpcrt4.lib")放的最上面的缘故。
pleasechangegreat 2008-10-08
  • 打赏
  • 举报
回复
问题解决了。#pragma comment(lib,"Rpcrt4.lib")放的最上面的缘故。
pleasechangegreat 2008-10-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 anglecloudy 的回复:]
就在你出错的那个文件最上面就行了。
和#include 或有#define 的地方放一起,它是个预编译指令
[/Quote]

我加了#pragma comment(lib,"Rpcrt4.lib"),可还是不行啊。是什么原因呢?
OenAuth.Net 2008-10-08
  • 打赏
  • 举报
回复
或者,你用VC的菜单里面Project->Settings->Link里面有Object/library modules这一个框,在里面写上你的lib库文件就可以了,不过这种方法我不常用。还是代码好使
OenAuth.Net 2008-10-08
  • 打赏
  • 举报
回复
就在你出错的那个文件最上面就行了。
和#include 或有#define 的地方放一起,它是个预编译指令
pleasechangegreat 2008-10-08
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 anglecloudy 的回复:]
如果你是调用自己写的DLL那应该是你的DLL文件里面没有考虑名字改编问题
如果是调用系统的,应该加上lib库
#pragma comment(lib,"**.lib")
[/Quote]

#pragma comment(lib,"**.lib")
在哪儿加啊?
OenAuth.Net 2008-10-08
  • 打赏
  • 举报
回复
如果你是调用自己写的DLL那应该是你的DLL文件里面没有考虑名字改编问题
如果是调用系统的,应该加上lib库
#pragma comment(lib,"**.lib")
biosli 2008-10-08
  • 打赏
  • 举报
回复
是不是没有引用lib库文件?

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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