在Windows服务应用程序中不能包含一些boost标头

时间:2014-07-22 08:11:40

标签: c++ boost windows-services boost-filesystem

发展环境:

  • 操作系统:Windows 8
  • IDE:Visual Studio 2010
  • Boost版本:1.55.0

我有一个简单的应用程序,它将字符串写入文件。由于我必须将应用程序作为Windows服务运行,我使用的是Windows服务api,如StartServiceCtrlDispatcher,RegisterServiceCtrlHandler等。 一切都以这种方式运作良好,生活也很美好。 但是当我在代码中包含boost头时,我遇到了从net start命令启动服务的问题。 我包括这个

#include <boost/filesystem.hpp>

这是我得到的错误

C:\WINDOWS\system32>net start aab
The service is not responding to the control function.

More help is available by typing NET HELPMSG 2186. 

我正在使用sc create aab binpath =“path to executable”来创建服务。

我不知道世界上的推动是如何进行干预,也不知道如何调试或找到解决方案。

1 个答案:

答案 0 :(得分:0)

似乎与使用boost无关。

binpath=""似乎很奇怪。如果没有二进制文件,你怎么能期望服务启动?

另外,如果在实际测试中这确实没问题,

  • 检查dll依赖项(dependencywalker.com)