Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Where can I get windows.h for Mac?

I'm trying to compile a program on MacOSX that I originally wrote on a Windows OS. The program is a large C++ program with the OpenGL API among other things, totaling very many directories and files.

The compilation process at first had a problem with OpenGL for the Mac so I downloaded all the command line utilities of OpenGL for it to work. But as you might imagine, each C file within the OpenGL download had many preprocessors, each of which I in turn had to downloaded the dependencies for.

However, I have remaining one critical step: I receive a fatal error saying that windows.h file is not found. This seems something inherent to the Windows system (the windows.h file is nowhere to be found in my huge list of directories for the program), and the Mac does not seem to have an equivalent for windows.h (http://cboard.cprogramming.com/c-programming/96087-windows-h-mac.html).

Am I out of luck trying to compile this program for the Mac or can something be salvaged?

like image 983
warship Avatar asked Oct 28 '14 02:10

warship


People also ask

What is Windows h'on Mac?

h and windows. h are used to write Windows GUI apps, not command-line programs. The Mac equivalent of those libraries is Cocoa.

What Windows H include?

h is a Windows-specific header file for the C and C++ programming languages which contains declarations for all of the functions in the Windows API, all the common macros used by Windows programmers, and all the data types used by the various functions and subsystems.

Why Windows H is not working?

h'". That problem happens because the file, which is needed to compile programs that make calls to the Windows operating system, is not installed. To fix this, download and install the Microsoft Windows SDK for your system (it is free). Once the SDK is installed, add the file paths to Visual Studio.

Can Windows h be used in Linux?

windows. h does not exist on linux.


2 Answers

One thing you can do is create a dummy file called windows.h to satisfy the #include directive, then track down the missing typedefs, #defines, etc. one-by-one by looking at the compiler error log.

Windows.h is monolithic and includes about a hundred other Windows headers, but your program is not going to need all of those definitions. This assumes you are not using the Windows API directly, and only using simple things like DWORD. If your software is built using a framework like GLUT or GLFW that is entirely possible, but if you directly interface with WGL, you are going to have a lot of work ahead of you.

like image 73
Andon M. Coleman Avatar answered Oct 11 '22 20:10

Andon M. Coleman


windows.h is provided by the Windows SDK, and implemented by the Windows OS itself.

You need to rewrite the program to not use Windows APIs.
Good luck.

like image 43
SLaks Avatar answered Oct 11 '22 19:10

SLaks