我试图在MacOSX上编译一个程序,我最初是在Windows操作系统上写的。该程序是一个大型的C++程序与OpenGL API等,总计非常多的目录和文件。
编译过程一开始遇到了OpenGL for Mac的问题,所以我下载了OpenGL的所有命令行实用程序来让它工作。但正如您可能想象的那样,OpenGL下载中的每个C文件都有许多预处理器,我必须依次下载每个预处理器的依赖项。
不过,我还有一个关键步骤:我收到一个致命错误,说找不到windows.h文件。这似乎是Windows系统固有的东西(在我的程序目录列表中找不到windows. h文件),Mac似乎没有windows. h(http://cboard.cprogramming.com/c-programming/96087-windows-h-mac.html)的等价物。
我是运气不好,试图编译这个程序的Mac或可以挽救的东西?
4条答案
按热度按时间fdbelqdn1#
您可以做的一件事是创建一个名为
windows.h
的虚拟文件来满足#include
指令,然后跟踪丢失的typedef,#defines等。通过查看编译器错误日志来逐个检查。Windows.h
是一个整体,包括大约100个其他Windows头文件,但您的程序不需要所有这些定义。这里假设您不直接使用Windows API,而只使用像DWORD
这样简单的东西。如果你的软件是使用像GLUT或GLFW这样的框架构建的,这是完全可能的,但是如果你直接与WGL接口,你将有很多工作要做。vddsk6oq2#
windows.h
由Windows SDK提供,并由Windows操作系统本身实现。您需要重写程序以不使用Windows API。
祝你好运
ljsrvy3e3#
您无法获得Windows. h for Mac,它是Windows操作系统特定的。
另一方面,有许多替代Windows. h中使用的函数的方法。
6qfn3psc4#
您可以使用
x86_64-w64-mingw32
在MacOS上交叉编译win32程序。它包含windows.h
。