Hi, I tried to use Mesa (compiled with MSVC) to run OpenGL ES content on Windows . I ran into a few problems. I don't know if this is the right way of reporting issues, but thought people may be interested to know.
Here's a piece of code in functions _mesa_dlopen(const char*, int) in src\mesa\main\dlopen.h (same problem happens with function _mesa_dlsym(void *, const char *) in the same file). The original code returns NULL and doesn't load the library if the code is compiled with Visual Studio. #if defined(HAVE_DLOPEN) flags = RTLD_LAZY | RTLD_GLOBAL; /* Overriding flags at this time */ return dlopen(libname, flags); #elif defined(__MINGW32__) return LoadLibraryA(libname); #else return NULL; #endif Adding the following lines to the code resolves the problem: #elif defined(_WIN32) return LoadLibraryA(libname); Thanks, Shervin On Fri, Apr 3, 2015 at 5:38 PM, Shervin Sharifi <sherv...@gmail.com> wrote: > Thank you for useful information. > I was able to build Mesa with VS 2013 with a similar scheme with scons. > > Thanks, > Shervin > > > On Fri, Apr 3, 2015 at 7:01 AM, Emil Velikov <emil.l.veli...@gmail.com> > wrote: > >> On 3 April 2015 at 14:43, Predut, Marius <marius.pre...@intel.com> wrote: >> >> >> >> Just a couple of small details - mesa has a fall-back for the >> mentioned functions (plus others) in $(top)/include/*h. >> >> >> >> That said, I believe that the overall consensus is that building mesa >> with MSVC 2008, is the bare minimum, with MSVC 2013 strongly recommended. >> Afaik, as the VMWare guys give us the go ahead > > > we'll drop all the >> workarounds for pre-2013 versions and bump the requirement. >> >> >> >> Cheers, >> >> Emil >> > Hmm, nice to know, >> > but in this case the build system have to take in consideration and >> this is a bug or , >> > by hand we should copy headers? >> > >> Not sure I fully understand your statement here. Currently there are >> two types of headers - A) provide official (like) implementation, and >> B) that wrap around existing ones. >> Example: >> A) include/c99/* provides stdint.h & co for MSVC 2012 and older as >> they lack the headers. >> B) include/c99_math.h provides compat wrapper, as MSVC 2013's math.h >> is not in C99 land yet. >> >> About using those - everything is handled already. Where needed the >> extra include is added by the build (for A) and where the code is >> known to be build with MSVC a header from B is used rather than the >> system one. >> >> Hope that clears things up. >> Emil >> > >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev