Wo kann ich windows.h für Mac?
Ich versuche zu kompilieren Sie ein Programm auf MacOSX, die ich ursprünglich geschrieben auf einem Windows OS. Das Programm ist eine große C++ - Programm mit der OpenGL API unter anderem, die insgesamt sehr viele Verzeichnisse und Dateien.
Die Kompilierung zunächst hatte ein problem mit OpenGL für den Mac, so dass ich heruntergeladen habe, alle die Befehlszeilen-Dienstprogramme von OpenGL, für Sie zu arbeiten. Aber wie Sie sich vorstellen können, wird jede C-Datei innerhalb der OpenGL download hatte viele Präprozessoren, jede von denen ich wiederum musste heruntergeladen werden die Abhängigkeiten für.
Allerdings habe ich übrigen einen entscheidenden Schritt: ich erhalte einen fatal error besagt, dass windows.h-Datei nicht gefunden wird. Dies scheint etwas, die auf dem Windows-system (windows.h-Datei ist nirgends zu finden in meiner großen Liste der Verzeichnisse für das Programm), und der Mac scheint nicht zu haben, ein äquivalent für windows.h (http://cboard.cprogramming.com/c-programming/96087-windows-h-mac.html).
Bin ich aus Glück versuchen, kompilieren Sie dieses Programm für den Mac oder kann etwas gerettet werden?
- Ich würde vorschlagen, installieren Sie vmware fusion und windows drin kompilieren Sie Ihren code mit windows.h enthalten. Kann man irgendwie windows.h in mac aber Sie werden nie in der Lage sein, um den code auszuführen, als windhows.h, wie es spezifisch für windows und enthält die OS-spezifischen Aufrufe und Erklärungen Verknüpfung zu windows-spezifischen dlls und Definitionen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Eine Sache, die Sie tun können, ist, erstellen Sie eine dummy-Datei namens
windows.h
zu befriedigen, die#include
Richtlinie, dann die Spur des fehlenden Typdefinitionen, #defines, etc. one-by-one durch die Betrachtung der compiler Fehler melden.Windows.h
ist gigantisch und umfasst über hundert andere Windows-Header, aber Ihr Programm ist nicht notwendig, dass alle diese Definitionen. Dies setzt Voraus, Sie sind nicht mit der Windows-API direkt, und nur mit einfachen Dingen wieDWORD
. Wenn Ihre software integriert ist, mit einem Rahmen wie GLUT oder GLFW, das ist durchaus möglich, aber wenn Sie direkt interface mit WGL, sind Sie gehen zu müssen eine Menge Arbeit vor Ihnen.FrameWindow_win32.cpp/h
. Ich bin nicht vertraut genug mit ihm, um zu sagen, wenn Sie wieder schreibt, dass es auf OS X, aber es scheint ein Beispiel für die Verwendung GLUT statt der Win32-API (begui\src\begui_glut_example
) - das Beispiel sollte tragbar sein.../bcore/src/GL/wglew.h:114:15: error: unknown type name 'WINAPI'
/bcore/src/GL/wglew.h:114:61: error: unknown type name 'HDC'
und/bcore/src/GL/wglew.h:114:70: error: unknown type name 'UINT'
So, wenn ich nicht haben, um sorgen über die Win32-API, wie kann ich sicherstellen, dass meine dummy-Datei mit den erforderlichen bare essentials?HDC
weil es aufgebaut ist auf der Oberseite der WGL. Sie können ganz einfach definieren, diese Dinge zuuint32_t
und lösen fehlende Typ-Fehler, aber die Typen sind noch in der WGL-API-Aufrufe wiewglMakeCurrent (...)
und es gibt keinen Ersatz dafür. Sie müsste wieder code schreiben, leider.windows.h
wird durch die Windows SDK und die Implementierung von Windows-Betriebssystem.Müssen Sie umschreiben das Programm nicht mit Windows APIs.
Viel Glück.
../bcore/src/GL/wglew.h:114:15: error: unknown type name 'WINAPI'
Dies ist ein erhebliches problem, ist es nicht?#include <glew.h>
was kommt von OpenGL. Ich habe versucht die Installation von OpenGL für Mac, aber konnte nur finden die OpenGL-Erweiterungen zum download. Warum würde meine Probleme kommen, dies zu tun?Kommen Sie nicht an Windows.h für mac -, Windows-OS-spezifisch.
Es gibt viele alternativen zu Funktionen, die in Windows verwendet wird.h auf der anderen Seite.