Typedef yang hilang (HANDLE
dll.) bukan masalah Anda. Masalah Anda adalah Linux dan Windows memiliki API yang benar-benar berbeda, Anda tidak bisa begitu saja berharap untuk mem-porting satu ke yang lain dengan mengganti beberapa definisi jenis.
Bagian lengkap yang bergantung pada platform dari kode Anda harus diganti. Oleh karena itu, langkah pertama Anda adalah mempelajari API Linux. Cara terbaik untuk melakukannya adalah mendapatkan buku tentang pemrograman Linux.
Selain itu, Linux tidak menyediakan API default untuk pengelolaan jendela seperti halnya Windows, jadi jika Anda memprogram aplikasi grafis, Anda juga harus memilih perpustakaan windowing.
Tidak ada yang "padanan", jadi untuk berbicara, untuk windows.h di Linux, Anda perlu memperbaiki kesalahan Anda kasus per kasus, atau lebih baik, menulis ulang kode Anda untuk linux (jika tidak terlalu rumit).
Namun, jika kami mengabaikan API khusus windows, Anda mungkin dapat memperbaiki kesalahan 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
kode sumber typedef