2012-02-29 13 views
7

Estoy reescribiendo un programa c que se usó para Linux, ahora lo reutilizaré en Windows, escribo un archivo bat. Ejecuto este archivo como administrador, luego ocurre el error: syslog.h: No existe dicho archivo o directorio.no puede encontrar syslog.h en Windows

¿Podría darme algunos consejos? Gracias.

Respuesta

7

Probablemente el programa que está transfiriendo a windows usa la llamada a función syslog (3) (además de openlog y closelog). Estos se definen en syslog.h en Unix. Windows no los tiene, por lo que puede hacer lo siguiente:

  • Elimine syslog.h y estas llamadas a funciones del código.
  • Crea un syslog.h e implementa estas llamadas o simplemente definelas como macros vacías.
  • Use cygwin que proporciona compatibilidad con POSIX.
+0

muchas gracias b0ti – diligent

2

Windows no ofrece un cliente de syslog incorporado. Es posible que pueda utilizar una biblioteca de terceros, como http://syslog-win32.sourceforge.net.

+0

gracias Greg, descargué el syslog-win32-0.3.tar.bz2 no en el formato exe. Lo descomprimo, pero tiene muchos archivos, ¿dónde debería empezar? ¿Cómo puedo usar esta herramienta? Gracias. – diligent

+0

No lo sé, nunca lo he usado. Acabo de buscar en Google el "cliente de syslog win32" y eso apareció. –

+0

gracias el mismo Greg. – diligent

0

En PHP source code usted puede encontrar una envoltura basada en la función de Windows ReportEvent().

ej .: echar un vistazo a wsyslog.c y syslog.h

Editar: has syslog-server?

+0

@JeremiahGowdy Estoy de acuerdo con su comentario y he actualizado la respuesta. ¿Qué opinas de mi reformulación? Puede eliminar su comentario anterior. Aclamaciones – olibre

Cuestiones relacionadas