warvair / pixeltoaster

Automatically exported from code.google.com/p/pixeltoaster
0 stars 0 forks source link

PixelToaster does not build with MinGW #77

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Using the included makefile.mingw and following the instructions in the 
readme will not build PixelToaster correctly. Data types like D3DXVECTOR4 
used in PixelToaster require d3dx9.h from the DirectX SDK to be included, 
but this is excluded from the MinGW build, and the MinGW implementation of 
Windows API does not have this header.

In addition, two of the examples will not build because they call printf 
but do not include cstdio.

What is the expected output? What do you see instead?
Doing "make -f makefile.mingw" results in errors such as:
PixelToasterWindows.h:1262: error: 'D3DXVECTOR4' does not name a type

What version of the product are you using? On what operating system?
I am using the latest SVN of PixelToaster, but the problem can be 
reproduced on release 1.4.4 as well.

I am using Windows XP, with the 4.3.3-tdm-1 build of MinGW GCC. I have 
installed the March 2009 DirectX SDK to fulfill dependencies.

Please provide any additional information below.
The problem is solved by installing the DirectX SDK, adding its header and 
lib directories to the build settings, and making a few changes in the 
PixelToaster source.

However, PixelToaster.cpp will build with an enormous number of warnings 
because GCC does not especially like the headers in the SDK.

I have attached a patch to have PixelToasterWindows.h include the 
necessary header when building, to fix the makefile.mingw so that it uses 
the SDK headers and libs and to suppress DirectX-related warnings, and to 
have ExampleMultiDisplay and ExampleTimer build.

I also updated the readme to have the correct MinGW build instructions.

Yours,
Xo Wang

Original issue reported on code.google.com by GeeksHav...@gmail.com on 11 Apr 2009 at 6:23

Attachments:

GoogleCodeExporter commented 9 years ago
Oops, I meant release 1.4.1, not 1.4.4.

Original comment by GeeksHav...@gmail.com on 11 Apr 2009 at 6:25