2012-02-29 4 views
7

리눅스에 익숙한 C 프로그램을 다시 작성하고 있습니다. 이제 창에서 재사용하겠습니다. 나는 박쥐 파일을 작성합니다. 이 파일을 관리자로 실행하면 오류가 발생합니다. syslog.h : 해당 파일이나 디렉토리가 없습니다.윈도우에서 syslog.h를 찾을 수 없습니다.

제발 나에게 조언을 해 주시겠습니까? 고마워.

답변

7

아마도 Windows로 이식하는 프로그램은 openlog 및 closelog 외에도 syslog (3) 함수 호출을 사용합니다. 이것은 유닉스에서 syslog.h에 정의되어 있습니다. Windows에는 이러한 기능이 없으므로 다음을 수행 할 수 있습니다.

  • 코드에서 syslog.h와이 함수 호출을 제거하십시오.
  • syslog.h를 만들고 이러한 호출을 구현하거나 단순히 빈 매크로로 정의하십시오.
  • POSIX 호환성을 제공하는 cygwin을 사용하십시오.
+0

고마워요 b0ti – diligent

2

Windows는 내장 된 syslog 클라이언트를 제공하지 않습니다. http://syslog-win32.sourceforge.net과 같은 타사 라이브러리를 사용할 수 있습니다.

+0

감사합니다. Greg, exe 형식이 아닌 syslog-win32-0.3.tar.bz2를 다운로드합니다. 압축을 풀었지만 파일이 많습니다. 어디서부터 시작해야합니까? 어떻게이 도구를 사용할 수 있습니까? 감사. – diligent

+0

모르겠다. 나는 그것을 사용한 적이 없다. Google에서 "win32 syslog client"를 검색 한 결과입니다. –

+0

그렉에게도 감사드립니다. – diligent

0

PHP source code에서 Windows 기능 ReportEvent()을 기반으로 래퍼를 찾을 수 있습니다.

예컨대 : wsyslog.csyslog.h

편집에서 살펴 : 당신이 syslog-server를 시도?

+0

@JeremiahGowdy 나는 당신의 발언에 동의하고 대답을 업데이트했습니다. 내 문장을 어떻게 생각하니? 이전 댓글을 삭제할 수 있습니다. 건배 – olibre

관련 문제