`

用VC写打印机控制程序时报“error C2065: 'SetDefaultPrinter' : undeclared identifier”的解决办法

阅读更多

最近在改一个用VC6编写的打印机控制程序,编译时报错:

error C2065: 'SetDefaultPrinter' : undeclared identifier

网上查了一下资料,有些人说要下载新的Platform SDK才能解决这个问题,到Microsoft网站看了看,SDK动辄几百兆,安装浪费硬盘不说,光下载就够磨人的,于是再搜,终于发现有人已经不用安装Platform SDK就解决了该问题。为防以后忘记,就顺手记下:

这个问题的原因是在 winspool.h 文件中未定义SetDefaultPrinter这个函数,而实际上在winspool.lib中确实有这个函数,所以只要把下在的内容加到winspool.h文件末尾#ifdef __cplusplus的前面就可以了:

BOOL 
WINAPI 
SetDefaultPrinterA(
       LPCTSTR pszPrinter
       );

BOOL 
WINAPI 
SetDefaultPrinterW(
       LPCTSTR pszPrinter
       );
#ifdef UNICODE
#define SetDefaultPrinter  SetDefaultPrinterW
#else
#define SetDefaultPrinter  SetDefaultPrinterA
#endif // !UNICODE 

 

0
0
分享到:
评论

相关推荐

    将tc下的程序移植到vc中.pdf

    8. **错误提示:error C2065: 'EGA' : undeclared identifier 或 error C2065: 'EGAHI' : undeclared identifier** 解决办法:删除定义`int gdriver = EGA, gmode = EGAHI;`的代码,改用`initgraph(640, 480);`初始...

    VC 常见编译错误.pdf

    error C2065: ‘_bstr_t’ : undeclared identifier error MSB8008: 指定的平台工具集(v110)未安装或无效 error C2065: “CString”: 未声明的标识符 error C2664: “ATL::CStringT,StringTraits>::Remove”: 不能...

    VC6.0错误指令及解决方法

    error C2065: 'xxx': undeclared identifier 此错误意味着编译器在尝试识别变量、函数或其他标识符时未能找到其声明。这通常发生在以下几种情况: - 变量或函数在使用前未被正确定义或声明。 - 包含必要头文件的预...

    常见的vc编译错误

    `error C2065: 'IDD_MYDIALOG': undeclared identifier` **错误原因:** 标识符`IDD_MYDIALOG`未声明。 **解决办法:** 确保在使用前已经声明了`IDD_MYDIALOG`。 #### 7. `error C2082: redefinition of formal ...

    VC6编译与链接过程中常见的出错提示.doc

    6. **error C2065: 'xxxx' : undeclared identifier** 指示未声明的标识符,意味着在当前作用域内找不到该变量、函数或其他标识符。检查拼写是否正确,或者是否忘记包含相应的头文件或声明。 7. **error C2086: '...

    VC6编译与链接过程中常见的出错提示[归类].pdf

    6. **error C2065: 'xxxx' : undeclared identifier** 这个错误表示你尝试使用一个未声明的变量、函数、类或枚举等标识符。检查拼写和是否已正确包含相应的头文件或声明。 7. **error C2086: 'xxxx' : ...

    VC程序\vc++6.0编译出错

    #### 五、error C2065: 'abc': undeclared identifier **问题描述**: 当编译器遇到未声明的标识符时会报此错误。 **解决方法**: 1. **声明变量**:在使用之前先声明变量。 2. **检查拼写**:确保标识符的拼写正确...

    project.zip

    本代码参考“老狼Gh0st远程协助软件编写教程”,由于server端使用vc6.0编写时始终出现如下等错误:error C2065: 'IDC_HAND' : undeclared identifier

    Directshow开发环境配置vs2008

    * error C2065: 'Count' : undeclared identifier 这些错误可以通过修改project->BaseClasses properties->configuration->C/C++ -> General- >Additional Include Directories里的内容来解决。 三、总结 配置...

    VC++6.0编译及链接时常见问题的解决及_pragma.txt

    - **error C2065: 'IDD_MYDIALOG': undeclared identifier** - 确认资源标识符已正确声明。 - **error C2146: syntax error: missing ';' before identifier 'dc'** - 确认语法结构正确,没有遗漏符号。 通过上述...

    VC++常见错误一览表

    ##### error C2065: undeclared identifier 'IDD_MYDIALOG' 此错误表明使用了一个未声明的标识符。 - **解决方案**: - 确保所有标识符(如宏定义、变量等)都在使用前声明。 - 检查包含文件是否正确包含了定义该...

    VC错误介绍

    error C2065: 'xxxx': undeclared identifier **编号**:C2065 **直译**:标识符“xxxx”未定义。 **错误分析**: - **标识符定义**:标识符是程序中除关键字之外的词汇,用于命名变量、函数、类等。所有标识符...

    Visual C++常见错误(初学者)

    `error C2065: 'IDD_MYDIALOG': undeclared identifier` 错误 `C2065` 表明标识符 `IDD_MYDIALOG` 未声明。这通常是因为没有包含相应的资源文件或宏定义文件。解决方法是检查资源文件是否已正确包含,并确认 `IDD_...

    C++网络开发包ACE环境的配置与调试

    如果出现“error C2065: 'ACE_ERROR' : undeclared identifier”错误,需要添加#include "ace/Log_Msg.h"头文件。 如果出现“error LNK2001: unresolved external symbol "__declspec(dllimport) int __cdecl”错误...

    c语言常见错误

    13. **变量声明的空格**:在声明变量时,类型和变量名之间需要有空格,如`int a`应该写成`int a`,否则编译器会报`undeclared identifier`。 14. **typedef的使用**:`typedef`后定义新的类型名时,如果没有分号,...

    vc编译运行出错的详细解释

    错误(如error C2065)则会阻止编译过程,直到问题得到解决。处理这类问题的关键在于仔细阅读错误消息,理解其指向的代码部分,并根据错误类型采取相应的修正措施。 ### 4. 链接错误与未解析的外部符号 错误...

    vc++6.0下DirectShow环境配置

    - 在编译过程中可能会遇到错误“wxutil.cpp(277) : error C2065: 'COINIT_DISABLE_OLE1DDE' : undeclared identifier”。 - 解决方案是在wxutil.cpp文件第277行前添加预处理器定义`#define COINIT_DISABLE_OLE1DDE...

Global site tag (gtag.js) - Google Analytics