не может найти syslog.h в Windows - PullRequest
6 голосов
/ 29 февраля 2012

Я переписываю программу на c, которая использовалась для linux, теперь я снова использую ее в Windows, я пишу bat-файл. Я запускаю этот файл как администратор, затем происходит ошибка: syslog.h: Нет такого файла или каталога.

Не могли бы вы дать мне несколько советов? Спасибо.

Ответы [ 3 ]

6 голосов
/ 29 февраля 2012

Вероятно, программа, которую вы переносите в windows, использует вызов функции syslog (3) (в дополнение к openlog и closelog). Они определены в syslog.h на Unix. В Windows их нет, поэтому вы можете сделать следующее:

  • Удалите syslog.h и эти вызовы функций из кода.
  • Создайте syslog.h и реализуйте эти вызовы или просто определите их как пустые макросы.
  • Используйте cygwin, которая обеспечивает совместимость с POSIX.
1 голос
/ 29 февраля 2012

Windows не предлагает встроенный клиент системного журнала.Вы можете использовать стороннюю библиотеку, например http://syslog -win32.sourceforge.net .

0 голосов
/ 11 ноября 2013

В Исходный код PHP вы можете найти оболочку, основанную на функции Windows ReportEvent().

Например: взгляните на wsyslog.c и syslog.h

Редактировать: вы пробовали syslog-server ?

...