Les typedefs manquants (HANDLE
etc.) ne sont pas votre problème. Votre problème est que Linux et Windows ont des API complètement différentes, vous ne pouvez pas simplement espérer porter l'un sur l'autre en remplaçant quelques définitions de type.
La partie complète de votre code qui dépend de la plate-forme doit être remplacée. Votre première étape consiste donc à apprendre l'API Linux. La meilleure façon d'y parvenir est de se procurer un livre sur la programmation Linux.
De plus, Linux ne fournit pas d'API par défaut pour la gestion des fenêtres, contrairement à Windows. Si vous programmez une application graphique, vous devez également choisir une bibliothèque de fenêtrage.
Il n'y a pas "d'équivalent", pour ainsi dire, pour windows.h sous Linux, vous devez corriger vos erreurs au cas par cas, ou mieux, réécrire votre code pour linux (si ce n'est pas trop compliqué).
Cependant, si nous ignorons les API spécifiques à Windows, vous pourrez peut-être corriger les erreurs typedef (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
code source typedef