Die fehlenden Typedefs (HANDLE
usw.) sind nicht Ihr Problem. Ihr Problem ist, dass Linux und Windows völlig unterschiedliche APIs haben, Sie können nicht einfach darauf hoffen, eine auf die andere zu portieren, indem Sie ein paar Typdefinitionen ersetzen.
Der komplette plattformabhängige Teil Ihres Codes muss ersetzt werden. Ihr erster Schritt ist daher, die Linux-API zu lernen. Der beste Weg, dies zu tun, ist, sich ein Buch über Linux-Programmierung zu besorgen.
Darüber hinaus bietet Linux keine Standard-API für die Fensterverwaltung wie Windows. Wenn Sie also eine grafische Anwendung programmieren, müssen Sie auch eine Fensterbibliothek auswählen.
Es gibt sozusagen kein "Äquivalent" für windows.h unter Linux, Sie müssen Ihre Fehler von Fall zu Fall beheben oder besser Ihren Code für Linux neu schreiben (wenn es nicht zu kompliziert ist).
Wenn wir jedoch Windows-spezifische APIs ignorieren, können Sie möglicherweise Typedef-Fehler beheben (DWORD, HANDLE, ...):
#ifndef DWORD
#define WINAPI
typedef unsigned long DWORD;
typedef short WCHAR;
typedef void * HANDLE;
#define MAX_PATH PATH_MAX
typedef unsigned char BYTE;
typedef unsigned short WORD;
typedef unsigned int BOOL;
#endif
typedef-Quellcode