I want to build Mandelbulber under Windows 7 64bit and wonder about the necessary steps to setup a development environment. Krzysztof told me that I'd need mingw and gtk+2.0 so here's what I did. (paste from a mail I sent him, but maybe somebody else who sucessfully built mandelbulber under windows can point me into the right direction, too)
- download and install mingw from mingw.org. I picked the gui installer with a basic msys and gcc, this should be sufficient?
- download and install gtk2.x according to this tutorial:
http://www.gtk.org/download/win32_tutorial.php (tutorial is for gtk+3.x, I did download 2.x and followed the steps. built and installed gtk and verified it by running the demo application)
- download jpeg library according to this here:
http://www.multigesture.net/articles/how-to-upgrade-your-mingw-with-commonly-used-libraries/ (followed only the steps for jpeg)
Now when I try to build mandelbulber (with make all) I get the follwing errors:
Building file: ../src/Render3D.cpp
Invoking: GCC C++ Compiler
g++ -O3 -ffast-math -Wall -c -fmessage-length=0 `pkg-config --cflags gtk+-2.0 gthread-2.0;` -MMD -MP -MF"src/Render3D.d" -MT"src/Render3D.d" -o"src/Render3D.o" "../src/Render3D.cpp"
In file included from ../src/Render3D.cpp:39:0:
../src/netrender.hpp:20:0: warning: "_WIN32_WINNT" redefined [enabled by default]
#define _WIN32_WINNT 0xFFFF
^
In file included from c:\mingw\include\_mingw.h:35:0,
from c:\mingw\include\windows.h:28,
from ../src/Render3D.cpp:13:
c:\mingw\include\sdkddkver.h:154:0: note: this is the location of the previous definition
# define _WIN32_WINNT _WIN32_WINNT_WIN2K
^
In file included from ../src/netrender.hpp:22:0,
from ../src/Render3D.cpp:39:
c:\mingw\include\ws2tcpip.h:38:2: error: #error "ws2tcpip.h is not compatible with winsock.h. Include winsock2.h instead."
#error "ws2tcpip.h is not compatible with winsock.h. Include winsock2.h instead."
^
In file included from ../src/netrender.hpp:22:0,
from ../src/Render3D.cpp:39:
c:\mingw\include\ws2tcpip.h:147:8: error: redefinition of 'struct ip_mreq'
struct ip_mreq {
^
In file included from c:\mingw\include\windows.h:93:0,
from ../src/Render3D.cpp:13:
c:\mingw\include\winsock.h:315:8: error: previous definition of 'struct ip_mreq'
struct ip_mreq {
^
In file included from ../src/netrender.hpp:22:0,
from ../src/Render3D.cpp:39:
c:\mingw\include\ws2tcpip.h:390:13: error: expected initializer before 'freeaddrinfo'
void WSAAPI freeaddrinfo (struct addrinfo*);
^
c:\mingw\include\ws2tcpip.h:391:12: error: expected initializer before 'getaddrinfo'
int WSAAPI getaddrinfo (const char*,const char*,const struct addrinfo*,
^
c:\mingw\include\ws2tcpip.h:393:12: error: expected initializer before 'getnameinfo'
int WSAAPI getnameinfo(const struct sockaddr*,socklen_t,char*,DWORD,
^
make: *** [src/Render3D.o] Error 1
This was from trying to compile the mandelbulber1.21-1.orig tarball. The other tries to include opencl headers which I didn't install yet.
- is it even possible to build mandelbulber1.21-1.orig under Windows 7 64bit?
- how to install the opencl libraries for building mandelbulber-opencl-1.21-1.orig.tar.gz?
Edit: I'm asking specifically about win7 64bit because in another thread I read that the code should be ready to compile for win32 and that throws me off a bit...