阅读:2276回复:12
VC++编译和DDK的BUILD有哪些差别?
我的打印机驱动用户界面程序在VC++编写和编译都没有问题,但用DDK的BUILD -cZ编译时却显示DrvDevicePropertySheets和DrvDocumentPropertySheets函数里的PROPSHEETPAGE是没有定义的标识符,不知是怎么回事。请过来人指点一下
/* DrvDevicePropertySheets */ #include <windows.h> #include <winddiui.h> #include \"ui.h\" LRESULT WINAPI MainWndProc( HWND, UINT, WPARAM, LPARAM); extern PLOTDEVMODE PlotDM; extern PDEV pDEV; LONG DrvDevicePropertySheets(PPROPSHEETUI_INFO pPSUIInfo, LPARAM lParam) { PROPSHEETPAGEA propSheetPage; switch(pPSUIInfo->Reason) { case PROPSHEETUI_REASON_INIT: /* ((PDEVICEPROPERTYHEADER)lParam)->cbSize = sizeof(DEVICEPROPERTYHEADER); ((PDEVICEPROPERTYHEADER)lParam)->Flags = 0; ((PDEVICEPROPERTYHEADER)lParam)->hPrinter = pPSUIInfo-> */ switch (((PDOCUMENTPROPERTYHEADER)lParam)->fMode) { case 0: ((PDOCUMENTPROPERTYHEADER)lParam)->pdmOut = (PDEVMODE)&PlotDM; ((PDOCUMENTPROPERTYHEADER)lParam)->cbOut = sizeof(PLOTDEVMODE); break; case DM_ADVANCED: break; } pPSUIInfo->pfnComPropSheet(pPSUIInfo->hComPropSheet, CPSFUNC_ADD_PROPSHEETPAGE, (LPARAM)&propSheetPage, lParam); break; default: break; } return 0; } |
|
沙发#
发布于:2002-08-19 17:40
你编译的文件是exe还是sys
|
|
|
板凳#
发布于:2002-08-20 11:38
sinhaul兄,你搞打印驱动吗,能不能提供打印驱动方面的源码,我急用,谢谢.freducn@yahoo.com.cn
|
|
地板#
发布于:2002-08-21 07:53
我编译的文件是DLL,用VC++编译没问题。但用BUILD编译就显示PROPSHEETPAGE结构未定义,它明明在一个头文件里。
这是我编的头一个打印驱动程序,还没找到北。等我搞成了一定共享成果。 roberson@etang.com |
|
地下室#
发布于:2002-08-21 09:21
我编译的文件是DLL,用VC++编译没问题。但用BUILD编译就显示PROPSHEETPAGE结构未定义,它明明在一个头文件里。 应用层dll,怎么能用build编译。 |
|
|
5楼#
发布于:2002-08-21 09:24
[quote]我编译的文件是DLL,用VC++编译没问题。但用BUILD编译就显示PROPSHEETPAGE结构未定义,它明明在一个头文件里。 应用层dll,怎么能用build编译。 [/quote] 应用层dll,当然能用build编译! |
|
|
6楼#
发布于:2002-08-21 09:31
不明白
|
|
|
7楼#
发布于:2002-08-21 09:53
[quote]我编译的文件是DLL,用VC++编译没问题。但用BUILD编译就显示PROPSHEETPAGE结构未定义,它明明在一个头文件里。 应用层dll,怎么能用build编译。 [/quote] “应用层dll”是指的USER_MODE吗?但我的问题应该和USER_MODE或KERNEL_MODE没关系呀? |
|
8楼#
发布于:2002-08-21 09:56
应用程序和DLL也可以用BUILD来编译的
|
|
9楼#
发布于:2002-08-21 15:08
和VC里面项目的环境变量怎么设置的有关吧
|
|
10楼#
发布于:2002-08-21 16:34
和VC里面项目的环境变量怎么设置的有关吧 是的,VC里很多环境变量是隐含的,但在DDK里要列出来,而且在sources文件里的路径要用8.3格式,不能用长文件名格式,至少不能有空格。 我现在已经编译通过了。在VC里可以找到的头文件在DDK里要在程序里列出来,所有要用到的库文件也要在sources文件里列出来。 |
|
11楼#
发布于:2002-08-22 18:41
在编译之前执行以下VC目录下的设置环境变量的批处理文件。
|
|
12楼#
发布于:2003-10-06 00:31
----------------------------------
我编译的文件是DLL,用VC++编译没问题。但用BUILD编译就显示PROPSHEETPAGE结构未定义,它明明在一个头文件里。 ------------------------------------ 这种问题一般出在编译时 inc和lib目录设置不正确;一般说来在肌成环境下的lib和inc目录已经正确设置;而在build或cl编译时往往要自己设置;例如用ddk下的build时在namke里加上标准include的目录和lib的目录 |
|