编译来自 winnt.h、winbase.h 和 excpt.h 的 Windows Mobile 项目的错误
Compile errors from winnt.h, winbase.h, and excpt.h for windows mobile project
我有一个已成功编译的桌面项目,但是在向项目添加新配置以支持Windows Mobile平台后,我收到以下错误:
error C2146: syntax error : missing ';' before identifier 'ContextRecord' winnt.h
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int winnt.h
error C2146: syntax error : missing ';' before identifier 'LPCONTEXT' winbase.h
error C2040: 'PCONTEXT' : '_CONTEXT *' differs in levels of indirection from 'int' excpt.h
该项目不包括winnt.h,但它包括windows.h,windbase.h。 我在谷歌上搜索我必须更改项目属性->配置属性->C/C++->预处理器->定义以添加像_MBCS,或添加$(ARCHFAM),$(ARCHFAM)。 或者通过将 windows.h 放在其他头文件的顶部来更改头文件的顺序,我也这样做了,但所有这些都没有修复错误。
有什么建议我可以解决这些问题吗?谢谢。
在所有 3 个中,#include<windows.h>
个,Windows.h 将它们全部拖入。这是您唯一需要的包含。它涵盖了所有Windows API的80%,减去操作系统的一些专门的离散方面(例如直接2D,加密等)
我也遇到了这些错误。我的问题是我忘记了其中一个头文件中类定义后面的";"。
而不是:
class myClass
{
...
};
我有:
class myClass
{
...
}
也许它对某人有所帮助...
有必要手动更正文件 winnt.h 中的语法错误
行: 类型定义空隙 *POINTER_64 PVOID64;
我们更正:类型定义空隙 *POINTER_64、*PVOID64;
或两个:类型定义空隙 *POINTER_64; typedef void *PVOID64;
错误消失
我的dll头文件中有windows.h。
将其移出头文件并仅移入需要 windows.h 的.cpp项目中,并且它工作了。
DLL的控制台测试应用程序在尝试包含一堆Windows内容时生气了。
相关文章:
- 在 Windows Mobile 上使用 WideCharToMultiByte
- 如何在 Windows Mobile 6.5 (c++) 中判断何时按下某个键
- 自定义系统对话框 - Windows Mobile 6.5
- 编译来自 winnt.h、winbase.h 和 excpt.h 的 Windows Mobile 项目的错误
- 如何在 Windows Mobile 中启动互联网连接
- UnregisterHotKey() 在 Windows Mobile 上不起作用
- Windows Mobile 6.5 -- 在对话框空闲时调用函数?WM_KICKIDLE
- Windows Mobile 隐藏任务栏和菜单栏
- 使用visualstudio2005和windows mobile SDK调试windows CE项目时出现getPro
- 通过ActiveSync在windows mobile上运行应用程序
- 计算Windows Mobile/CE设备的当前CPU占用率
- 想在Windows Mobile中使用c++ WTSGetActiveConsoleSessionId()
- Windows Mobile c++ -应用程序设计类问题
- Windows Mobile c++托盘图标
- 如何在Windows Mobile上增加进程的可用内存?
- Windows Mobile 6.5 c++ -确定互联网连接
- 在Windows Mobile中动态分配内存映射文件大小
- 如何在Windows Mobile 6.5上杀死进程
- 一个已经在运行的应用程序将收到短信通知-Windows Mobile 6.5
- openCV in Windows mobile