首页
社区
课程
招聘
[求助]DDkWizard如何添加自己的cpp。
发表于: 2012-8-15 01:39 4645

[求助]DDkWizard如何添加自己的cpp。

2012-8-15 01:39
4645
第一次用DDKWizard,环境是WIN7 32位+VS2008+工程创建的时候使用ddkbuild.cmd。

发现一个问题:

DDKWizard产生的原生代码直接编译,不会有任何问题。

之后我写了个头文件Head.h,代码如下:

#ifndef HEADFILE_H
#define HEADFILE_H 

#ifdef __cplusplus
extern "C" {
#endif
#include <ntddk.h>
#include <string.h>
#ifdef __cplusplus
}; 
#endif

void P();    //函数声明。

#endif

然后又新建了一个名为Head.cpp的源文件代码如下:
#include "Head.h"
void P(){
	DbgPrint("First Runing DDKWizard");
}


然后在DDKWizard自动生成的 工程名.cpp(也就是主文件)的DriverEntry入口出中调用P();

提示:
1>1>driver4.obj : error LNK2019: unresolved external symbol "void __stdcall P(void)" (?P@@YGXXZ) referenced in function "long __stdcall DRIVER4_DispatchDeviceControl(struct _DEVICE_OBJECT *,struct _IRP *)" (?DRIVER4_DispatchDeviceControl@@YGJPAU_DEVICE_OBJECT@@PAU_IRP@@@Z)
1>1>e:\users\admini~1\docume~1\visual~1\projects\driver4\driver4\driver4.obj : error LNK2019: unresolved external symbol "void __stdcall P(void)" (?P@@YGXXZ) referenced in function "long __stdcall DRIVER4_DispatchDeviceControl(struct _DEVICE_OBJECT *,struct _IRP *)" (?DRIVER4_DispatchDeviceControl@@YGJPAU_DEVICE_OBJECT@@PAU_IRP@@@Z)
1>1>e:\users\admini~1\docume~1\visual~1\projects\driver4\driver4\objchk_win7_x86\i386\Driver4.sys : fatal error LNK1120: 1 unresolved externals
1>1>e:\users\admini~1\docume~1\visual~1\projects\driver4\driver4\objchk_win7_x86\i386\driver4.sys : error LNK1120: 1 unresolved externals


请问这是怎么回事?

如果我是直接在驱动主文件内定义P函数的代码则没有问题。
为什么添加了个CPP就有问题了?

求解决.....总不能把所有函数都写在主文件里,那不乱死了。试过几次都是这样,烦死了。

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 122
活跃值: (72)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
2
携手共创美好家园呀。
Head.cpp里面的所有代码直接写在驱动工程主文件里面就没问题。

而添加了Head.cpp并将p函数在此文件定义。编译就报错了。
2012-8-15 02:08
0
雪    币: 123
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
打开Source 文件,将Head.cpp 添加进去
2012-8-15 06:40
0
雪    币: 122
活跃值: (72)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
请问要添加在哪儿呢?								
																																
								
							
2012-8-15 18:14
0
雪    币: 122
活跃值: (72)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
5
谢谢谢谢。万分感谢~!。
2012-8-15 18:16
0
雪    币: 80
活跃值: (87)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
我还以为你要加到Wizard里去呢,原来是要加到工程里。
2012-8-16 09:16
0
游客
登录 | 注册 方可回帖
返回
//