2012-02-29 57 views
7

Tôi đang viết lại một chương trình c đã được sử dụng để linux, bây giờ tôi sẽ sử dụng lại nó trên windows, tôi viết một tập tin bat. Tôi chạy tệp này với tư cách là quản trị viên, sau đó lỗi xảy ra: syslog.h : Không có tệp hoặc thư mục nào như vậy.không thể tìm thấy syslog.h trên windows

Bạn có thể cho tôi một số lời khuyên không? cám ơn.

Trả lời

7

Có lẽ chương trình bạn đang chuyển đến cửa sổ sử dụng cuộc gọi hàm syslog (3) (ngoài openlog và closelog). Chúng được định nghĩa trong syslog.h trên unix. Windows không có những thứ này, vì vậy bạn có thể thực hiện các thao tác sau:

  • Xóa syslog.h và các cuộc gọi hàm này khỏi mã.
  • Tạo syslog.h và triển khai các cuộc gọi này hoặc chỉ xác định chúng dưới dạng macro trống.
  • Sử dụng cygwin cung cấp khả năng tương thích POSIX.
+0

cảm ơn rất nhiều b0ti – diligent

2

Windows không cung cấp ứng dụng nhật ký hệ thống tích hợp. Bạn có thể sử dụng thư viện của bên thứ ba, chẳng hạn như http://syslog-win32.sourceforge.net.

+0

cảm ơn Greg, tôi tải xuống syslog-win32-0.3.tar.bz2 không phải định dạng exe. Tôi giải nén nó, nhưng nó có rất nhiều tập tin, nơi tôi nên bắt đầu, làm thế nào tôi có thể sử dụng công cụ này? cảm ơn. – diligent

+0

Tôi không biết, tôi chưa bao giờ sử dụng nó. Tôi vừa tìm kiếm Google cho "khách hàng syslog win32" và điều đó đã xuất hiện. –

+0

cảm ơn cùng một Greg. – diligent

0

Trong PHP source code bạn có thể tìm thấy trình bao bọc dựa trên chức năng Windows ReportEvent().

ví dụ .: hãy nhìn vào wsyslog.csyslog.h

Edit: bạn đã thử syslog-server?

+0

@JeremiahGowdy Tôi đồng ý với nhận xét của bạn và đã cập nhật câu trả lời. Bạn nghĩ gì về cụm từ của tôi? Bạn có thể xóa bình luận trước đó của bạn. Chúc mừng – olibre

Các vấn đề liên quan