2016-03-21 16 views
1

Ist es möglich, inotify kompilieren unter Windows mit mingw? Weil ich überwachen würde, ändern Sie eine Datei, die auf einem Linux-Server ist, aber das Programm wird kompiliert und auf Windows7-Computern ausgeführt. Ich denke, ich muss inotify und nicht Win32 API FindFirstChangeNotification verwenden. Ist es möglich, ein Linux Verzeichnis von einer Windows Maschine zu überwachen?Verwenden Sie inotify mit MinGW

Mein Fehler, wenn ich kompilieren:

Microsoft Windows [Version 6.1.7601] 
Copyright (c) 2009 Microsoft Corporation. All rights reserved. 

C:\Users\simon\Desktop>g++ main.c -o main.exe 
main.c:5:25: fatal error: sys/inotify.h: No such file or directory 
     #include <sys/inotify.h> 
        ^
compilation terminated. 

Antwort

2

Nein, inotify ist ein Feature von Linux-Kernel zur Verfügung gestellt, so, um es zu benutzen, Programm unter Linux ausgeführt werden soll. Programme, die unter Windows ausgeführt werden, müssen Windows-APIs verwenden.

Wenn Ihre Anwendung unter Windows läuft und Zugriff auf Dateien auf Linux-Servern hat, werden Windows-APIs verwendet, und das Linux-Dateisystem wird über ein Netzwerk-Dateisystem (höchstwahrscheinlich SMB oder NFS) verfügbar gemacht APIs und Senden von Bytes über das Netzwerk.

Abschließend, wenn Sie Änderungen auf Remote-System überwachen möchten, zunächst sicherstellen, dass Ihr Netzwerk-Dateisystem Änderungsbenachrichtigungen unterstützt, dann verwenden Sie "lokale" APIs - in Ihrem Fall Windows diejenigen.

+0

Ok danke für Ihre Antwort, es ist notwendig, dass ich mich an 'FindFirstChangeNotification' @ el.pescado wenden – Simon