为什么总是出错呢?

ygtat 2013-09-04 11:44:51
头文件
#include "stdafx.h"
#include "Server.h"
#include <stdio.h>
#include "fuwu.h"
#include <winsock2.h>
#include <winsock.h>
#include "SYS.h"
#include <process.h>

单独的把加载服务的一个程序是win32控制台程序,只是改成了win32应用程序就报错

错误代码
SERVICE_STATUS m_ServiceStatus;
SERVICE_STATUS_HANDLE m_ServiceStatusHandle;



错误提示:
求助!!!
...全文
414 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
adamsun 2013-09-05
  • 打赏
  • 举报
回复
这乱的,MFC的程序头文件包含是有他的顺序和特点的,凡是MFC的头文件,依次一般都写在你项目的stdafx.h文件中,stdafx.cpp就只有
#include stdafx.h
,这样是为了预编译,加快速度。 MFC用到的头文件是分层模块化的,需要什么功能就在stdafx.h中包含MFC对应的头文件。 而你的项目的.cpp文件第一行一般一定是
#include <stdafx.h>
,然后是你的项目文件的.h头文件,用双引号包含进来
#include “yourcppheader.h”
,你项目的头文件.h里一般是不包含任何文件的,它只是声明class和一些类型声明。 stdafx.h
#include <afxwin.h>         // MFC core and standard components
#include <afxext.h>         // MFC extensions
#include <afxcview.h>

#include <afxsock.h>
#ifndef _AFX_NO_AFXCMN_SUPPORT
#include <afxcmn.h>         // MFC support for Windows 95 Common Controls
#endif // _AFX_NO_AFXCMN_SUPPORT

#include <winreg.h>
stdafx.cpp
#include "stdafx.h"
yourcppheader.h 一般不包含任何系统或者你自己的头文件,除了#include “resource.h”

#include "resource.h"       // 资源文件

#define XXX YYY

class yourclass {
public:
	yourclass();
	~yourclass();
};
yourcppsource.cpp
#include "stdafx.h"     //第一行一定是他

#include "yourcppheard.h"
第二个问题解决方法
#define WIN32_LEAN_AND_MEAN    // 定义这个宏把windows.h带入的winsock.h排除
#include <windows.h>
#include <winsock2.h>
大尾巴猫 2013-09-04
  • 打赏
  • 举报
回复
#include <WinSock2.h> #include <MSWSock.h> #include <Windows.h> 试试看
max_min_ 2013-09-04
  • 打赏
  • 举报
回复
引用 17 楼 ygtat 的回复:
[quote=引用 楼主 ygtat 的回复:] 头文件 #include "stdafx.h" #include "Server.h" #include <stdio.h> #include "fuwu.h" #include <winsock2.h> #include <winsock.h> #include "SYS.h" #include <process.h> 单独的把加载服务的一个程序是win32控制台程序,只是改成了win32应用程序就报错 错误代码
SERVICE_STATUS m_ServiceStatus;
SERVICE_STATUS_HANDLE m_ServiceStatusHandle;
错误提示: 求助!!!
应该就是在windows.h中的,我新建了一个工程 加上windows.h就可以了。。。这个工程好像是win32 app支持mfc的 加上windows.h会报错没,说MFC已经包含windows.h 就像你刚才说的 我定义了那个句柄后,接着更可怕的事情出现了....下面一大堆的未定义的东西,貌似windows.h里面的东西没加载进来》。。。。。[/quote] 导致你定义的对象无效missing storage-class or type specifiers 检查是否包含定义的相关头文件 或者类型书写问题引起的 问题解决就好!
ygtat 2013-09-04
  • 打赏
  • 举报
回复
引用 楼主 ygtat 的回复:
头文件 #include "stdafx.h" #include "Server.h" #include <stdio.h> #include "fuwu.h" #include <winsock2.h> #include <winsock.h> #include "SYS.h" #include <process.h> 单独的把加载服务的一个程序是win32控制台程序,只是改成了win32应用程序就报错 错误代码
SERVICE_STATUS m_ServiceStatus;
SERVICE_STATUS_HANDLE m_ServiceStatusHandle;
错误提示: 求助!!!
应该就是在windows.h中的,我新建了一个工程 加上windows.h就可以了。。。这个工程好像是win32 app支持mfc的 加上windows.h会报错没,说MFC已经包含windows.h 就像你刚才说的 我定义了那个句柄后,接着更可怕的事情出现了....下面一大堆的未定义的东西,貌似windows.h里面的东西没加载进来》。。。。。
max_min_ 2013-09-04
  • 打赏
  • 举报
回复
引用 15 楼 ygtat 的回复:
[quote=引用 13 楼 max_min_ 的回复:] [quote=引用 12 楼 ygtat 的回复:] [quote=引用 10 楼 max_min_ 的回复:] [quote=引用 3 楼 ygtat 的回复:] [quote=引用 1 楼 max_min_ 的回复:]

SERVICE_STATUS 没有提前定义类型
导致你定义的对象无效missing storage-class or type specifiers

检查是否包含定义的相关头文件  或者类型书写问题引起的
是不是windows.h啊 加上后还不行,我把msdn上的SERVICE_STATU结构给拿过来 然后SERVICE_STATU不报错了,可是SERVICE_STATUS_HANDLE报同样的错,这个这个怎么办啊。。。MSDN上只给了一个SERVICE_STATUS_HANDLE :Handle to a service status value. 
[/quote]


#include <windows.h>

[/quote] 加上windows.h也没用,自己从新定义了一下可以了 不过那个SERVICE_STATUS_HANDLE还会出错 [/quote] 同理的,SERVICE_STATUS_HANDLE应该和SERVICE_STATUS这个是同一个文件定义的! 你也重新定义一个得了![/quote] SERVICE_STATUS_HANDLE 是 这要怎么定义啊。。。。[/quote]

//只是一个句柄而已!通过此句柄作其他操作
#define SERVICE_STATUS_HANDLE  (void*)
ygtat 2013-09-04
  • 打赏
  • 举报
回复
引用 13 楼 max_min_ 的回复:
[quote=引用 12 楼 ygtat 的回复:]
[quote=引用 10 楼 max_min_ 的回复:]
[quote=引用 3 楼 ygtat 的回复:]
[quote=引用 1 楼 max_min_ 的回复:]

SERVICE_STATUS 没有提前定义类型
导致你定义的对象无效missing storage-class or type specifiers

检查是否包含定义的相关头文件 或者类型书写问题引起的



是不是windows.h啊 加上后还不行,我把msdn上的SERVICE_STATU结构给拿过来 然后SERVICE_STATU不报错了,可是SERVICE_STATUS_HANDLE报同样的错,这个这个怎么办啊。。。MSDN上只给了一个SERVICE_STATUS_HANDLE :Handle to a service status value. 
[/quote]



#include <windows.h>

[/quote]

加上windows.h也没用,自己从新定义了一下可以了 不过那个SERVICE_STATUS_HANDLE还会出错

[/quote]

同理的,SERVICE_STATUS_HANDLE应该和SERVICE_STATUS这个是同一个文件定义的!
你也重新定义一个得了![/quote]

SERVICE_STATUS_HANDLE 是

这要怎么定义啊。。。。
ygtat 2013-09-04
  • 打赏
  • 举报
回复
引用 1 楼 max_min_ 的回复:

SERVICE_STATUS 没有提前定义类型
导致你定义的对象无效missing storage-class or type specifiers

检查是否包含定义的相关头文件  或者类型书写问题引起的
大哥 教教我怎么改吧
max_min_ 2013-09-04
  • 打赏
  • 举报
回复
引用 12 楼 ygtat 的回复:
[quote=引用 10 楼 max_min_ 的回复:] [quote=引用 3 楼 ygtat 的回复:] [quote=引用 1 楼 max_min_ 的回复:]

SERVICE_STATUS 没有提前定义类型
导致你定义的对象无效missing storage-class or type specifiers

检查是否包含定义的相关头文件  或者类型书写问题引起的
是不是windows.h啊 加上后还不行,我把msdn上的SERVICE_STATU结构给拿过来 然后SERVICE_STATU不报错了,可是SERVICE_STATUS_HANDLE报同样的错,这个这个怎么办啊。。。MSDN上只给了一个SERVICE_STATUS_HANDLE :Handle to a service status value. 
[/quote]


#include <windows.h>

[/quote] 加上windows.h也没用,自己从新定义了一下可以了 不过那个SERVICE_STATUS_HANDLE还会出错 [/quote] 同理的,SERVICE_STATUS_HANDLE应该和SERVICE_STATUS这个是同一个文件定义的! 你也重新定义一个得了!
ygtat 2013-09-04
  • 打赏
  • 举报
回复
引用 10 楼 max_min_ 的回复:
[quote=引用 3 楼 ygtat 的回复:]
[quote=引用 1 楼 max_min_ 的回复:]

SERVICE_STATUS 没有提前定义类型
导致你定义的对象无效missing storage-class or type specifiers

检查是否包含定义的相关头文件 或者类型书写问题引起的



是不是windows.h啊 加上后还不行,我把msdn上的SERVICE_STATU结构给拿过来 然后SERVICE_STATU不报错了,可是SERVICE_STATUS_HANDLE报同样的错,这个这个怎么办啊。。。MSDN上只给了一个SERVICE_STATUS_HANDLE :Handle to a service status value. 
[/quote]



#include <windows.h>

[/quote]

加上windows.h也没用,自己从新定义了一下可以了 不过那个SERVICE_STATUS_HANDLE还会出错

ri_aje 2013-09-04
  • 打赏
  • 举报
回复
引用 9 楼 ygtat 的回复:
[quote=引用 6 楼 ri_aje 的回复:] [quote=引用 5 楼 ri_aje 的回复:] [quote=引用 4 楼 ygtat 的回复:] [quote=引用 2 楼 zcm_xh2008 的回复:] 定义SERVICE_STATUS这个的头文件没有包含进来吧
应该用哪个头文件啊....[/quote] 看这页是 Windows.h[/quote] 忘加了。 http://msdn.microsoft.com/en-us/library/windows/desktop/ms685996%28v=vs.85%29.aspx[/quote] 恩恩 谢谢 我把这个加上已经改好了 可是后面那个SERVICE_STATUS_HANDLE又报同样的错误,MSDN上只给了一个SERVICE_STATUS_HANDLE :Handle to a service status value. 肿么办。。。。[/quote] 这两个试试呢? #include <windows.h> #include <process.h> 实在不行 google 一下啊。 我都 n 久没写 windows 程序了,刚才的回复都是网上翻的,你自己也翻翻啊。
max_min_ 2013-09-04
  • 打赏
  • 举报
回复
引用 3 楼 ygtat 的回复:
[quote=引用 1 楼 max_min_ 的回复:]

SERVICE_STATUS 没有提前定义类型
导致你定义的对象无效missing storage-class or type specifiers

检查是否包含定义的相关头文件  或者类型书写问题引起的
是不是windows.h啊 加上后还不行,我把msdn上的SERVICE_STATU结构给拿过来 然后SERVICE_STATU不报错了,可是SERVICE_STATUS_HANDLE报同样的错,这个这个怎么办啊。。。MSDN上只给了一个SERVICE_STATUS_HANDLE :Handle to a service status value. 
[/quote]


#include <windows.h>

ygtat 2013-09-04
  • 打赏
  • 举报
回复
引用 6 楼 ri_aje 的回复:
[quote=引用 5 楼 ri_aje 的回复:] [quote=引用 4 楼 ygtat 的回复:] [quote=引用 2 楼 zcm_xh2008 的回复:] 定义SERVICE_STATUS这个的头文件没有包含进来吧
应该用哪个头文件啊....[/quote] 看这页是 Windows.h[/quote] 忘加了。 http://msdn.microsoft.com/en-us/library/windows/desktop/ms685996%28v=vs.85%29.aspx[/quote] 恩恩 谢谢 我把这个加上已经改好了 可是后面那个SERVICE_STATUS_HANDLE又报同样的错误,MSDN上只给了一个SERVICE_STATUS_HANDLE :Handle to a service status value. 肿么办。。。。
ri_aje 2013-09-04
  • 打赏
  • 举报
回复
引用 7 楼 ygtat 的回复:
[quote=引用 5 楼 ri_aje 的回复:] [quote=引用 4 楼 ygtat 的回复:] [quote=引用 2 楼 zcm_xh2008 的回复:] 定义SERVICE_STATUS这个的头文件没有包含进来吧
应该用哪个头文件啊....[/quote] 看这页是 Windows.h[/quote] 我加进去了 没用。。。。[/quote] 那再试试 Winsvc.h 呢? 难道 msdn 忽悠咱,还是你那里没注意把 SERVICE_STATUS re-define 了?
ygtat 2013-09-04
  • 打赏
  • 举报
回复
引用 5 楼 ri_aje 的回复:
[quote=引用 4 楼 ygtat 的回复:] [quote=引用 2 楼 zcm_xh2008 的回复:] 定义SERVICE_STATUS这个的头文件没有包含进来吧
应该用哪个头文件啊....[/quote] 看这页是 Windows.h[/quote] 我加进去了 没用。。。。
ri_aje 2013-09-04
  • 打赏
  • 举报
回复
引用 5 楼 ri_aje 的回复:
[quote=引用 4 楼 ygtat 的回复:] [quote=引用 2 楼 zcm_xh2008 的回复:] 定义SERVICE_STATUS这个的头文件没有包含进来吧
应该用哪个头文件啊....[/quote] 看这页是 Windows.h[/quote] 忘加了。 http://msdn.microsoft.com/en-us/library/windows/desktop/ms685996%28v=vs.85%29.aspx
ri_aje 2013-09-04
  • 打赏
  • 举报
回复
引用 4 楼 ygtat 的回复:
[quote=引用 2 楼 zcm_xh2008 的回复:] 定义SERVICE_STATUS这个的头文件没有包含进来吧
应该用哪个头文件啊....[/quote] 看这页是 Windows.h
ygtat 2013-09-04
  • 打赏
  • 举报
回复
引用 2 楼 zcm_xh2008 的回复:
定义SERVICE_STATUS这个的头文件没有包含进来吧
应该用哪个头文件啊....
ygtat 2013-09-04
  • 打赏
  • 举报
回复
引用 1 楼 max_min_ 的回复:

SERVICE_STATUS 没有提前定义类型
导致你定义的对象无效missing storage-class or type specifiers

检查是否包含定义的相关头文件  或者类型书写问题引起的
是不是windows.h啊 加上后还不行,我把msdn上的SERVICE_STATU结构给拿过来 然后SERVICE_STATU不报错了,可是SERVICE_STATUS_HANDLE报同样的错,这个这个怎么办啊。。。MSDN上只给了一个SERVICE_STATUS_HANDLE :Handle to a service status value. 
zcm_xh2008 2013-09-04
  • 打赏
  • 举报
回复
定义SERVICE_STATUS这个的头文件没有包含进来吧
max_min_ 2013-09-04
  • 打赏
  • 举报
回复

SERVICE_STATUS 没有提前定义类型
导致你定义的对象无效missing storage-class or type specifiers

检查是否包含定义的相关头文件  或者类型书写问题引起的
加载更多回复(8)

64,683

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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