ddk编译的lib,在vc下的程序怎么连接不了

linxren 2009-03-11 05:50:18
在filespy下有几个文件夹,是lib,usr,user程序必须连接lib文件,但他们都是在ddk下编译的。
现在我想把user改成用VC来编译,但连接不了lib里面的函数,出现下面的错误
1>fspyLog.obj : error LNK2019: unresolved external symbol _GetIrpName referenced in function _PrintIrpCode
1>fspyLog.obj : error LNK2019: unresolved external symbol _GetFastioName referenced in function _PrintFastIoType
1>fspyLog.obj : error LNK2019: unresolved external symbol _GetFsFilterOperationName referenced in function _PrintFsFilterOperation

是不是一个用c写的一个用c++调用导致的? 实在搞不明白了
...全文
110 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
fanndy 2009-04-29
  • 打赏
  • 举报
回复
一个是__stdcall 一个是__cdecl ...
water_man 2009-03-20
  • 打赏
  • 举报
回复
VC是C++程序,ddk编出来的是C程序
linxren 2009-03-12
  • 打赏
  • 举报
回复
我看它 filespyLib.h中已经加了
#ifdef __cplusplus
extern "C" {
#endif
linxren 2009-03-12
  • 打赏
  • 举报
回复
extern "C" ---这行
{
#include "filespyLib.h"
}

我这么加了,可是出错:
error C2059: syntax error : 'string'
cnzdgs 2009-03-12
  • 打赏
  • 举报
回复
这几个函数是在filespyLib.h中声明的吗?
linxren 2009-03-12
  • 打赏
  • 举报
回复
原先已经有一个用ifs 编译的lib
还有一个也是用ifs 编译的 user 程序,他连接了lib, 都是用c写的。

现在,我要把user改成用VC编译, 我建了一个空工程,把user里面的文件添加进去,也都是.c文件,然后连接lib。
但是出现了这个错误
error LNK2019: unresolved external symbol

看过filespy的人应该知道的吧?
cnzdgs 2009-03-12
  • 打赏
  • 举报
回复
哪个是C程序,哪个是C++程序,谁调用谁?
soulover 2009-03-11
  • 打赏
  • 举报
回复
大家都回答的正确!
张帆的驱动开发详解也介绍了!
cnzdgs 2009-03-11
  • 打赏
  • 举报
回复
C++模块中的函数要用extern "C"声明才能被C程序调用。
cnzdgs 2009-03-11
  • 打赏
  • 举报
回复
C++调用外部C函数时,需要加extern "C"声明。
guetcw 2009-03-11
  • 打赏
  • 举报
回复
要加extern "C"
guetcw 2009-03-11
  • 打赏
  • 举报
回复
要加extern "C"

21,595

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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