在Windows上找不到syslog.h

时间:2012-02-29 08:57:56

标签: c linux event-log syslog

我正在重写用于linux的c程序,现在我将在windows上重用它,我写了一个bat文件。我以管理员身份运行此文件,然后发生错误:     syslog.h:没有这样的文件或目录。

你可以给我一些建议吗?谢谢。

3 个答案:

答案 0 :(得分:6)

您移植到Windows的程序可能使用syslog(3)函数调用(除了openlog和closelog)。这些是在unix上的syslog.h中定义的。 Windows没有这些,因此您可以执行以下操作:

  • 从代码中删除syslog.h和这些函数调用。
  • 创建一个syslog.h并实现这些调用,或者只是将它们定义为空宏。
  • 使用提供POSIX兼容性的cygwin。

答案 1 :(得分:1)

Windows不提供内置的syslog客户端。您可以使用第三方库,例如http://syslog-win32.sourceforge.net

答案 2 :(得分:0)

PHP source code中,您可以找到基于Windows函数ReportEvent()的包装器。

例如:查看wsyslog.csyslog.h

修改:您是否尝试过syslog-server