<div dir="ltr">Hi,<div>  I tried to use Mesa (compiled with MSVC) to run OpenGL ES content on Windows . I ran into a few problems. </div><div>  I don't know if this is the right way of reporting issues, but thought people may be interested to know. </div><div><br></div><div> 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).  </div><div><br></div><div> The original code returns NULL and doesn't load the library if the code is compiled with Visual Studio. </div><div><br></div><div> #if defined(HAVE_DLOPEN)</div><div>   flags = RTLD_LAZY | RTLD_GLOBAL; /* Overriding flags at this time */</div><div>   return dlopen(libname, flags);</div><div>#elif defined(__MINGW32__)</div><div>   return LoadLibraryA(libname);</div><div>#else</div><div>   return NULL;</div><div>#endif</div><div><br></div><div> Adding the following lines to the code resolves the problem:<br></div><div><br></div><div>#elif defined(_WIN32)</div><div>   return LoadLibraryA(libname);</div><div><br></div><div> Thanks, </div><div>     Shervin</div><div><br></div><div><br></div><div> </div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Apr 3, 2015 at 5:38 PM, Shervin Sharifi <span dir="ltr"><<a href="mailto:shervin0@gmail.com" target="_blank">shervin0@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Thank you for useful information.<div>I was able to build Mesa with VS 2013 with a similar scheme with scons. </div><div><br></div><div>Thanks,</div><div>   Shervin</div><div><br></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Apr 3, 2015 at 7:01 AM, Emil Velikov <span dir="ltr"><<a href="mailto:emil.l.velikov@gmail.com" target="_blank">emil.l.velikov@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div>On 3 April 2015 at 14:43, Predut, Marius <<a href="mailto:marius.predut@intel.com" target="_blank">marius.predut@intel.com</a>> wrote:<br>
>><br>
>> Just a couple of small details - mesa has a fall-back for the mentioned functions (plus others) in $(top)/include/*h.<br>
>><br>
>> 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.<br>
>><br>
>> Cheers,<br>
>> Emil<br>
> Hmm, nice to know,<br>
> but in this case the build system have to take in consideration and this is a bug or ,<br>
>  by hand we should copy headers?<br>
><br>
</div></div>Not sure I fully understand your statement here. Currently there are<br>
two types of headers - A) provide official (like) implementation, and<br>
B) that wrap around existing ones.<br>
Example:<br>
 A) include/c99/* provides stdint.h & co for MSVC 2012 and older as<br>
they lack the headers.<br>
 B) include/c99_math.h provides compat wrapper, as MSVC 2013's math.h<br>
is not in C99 land yet.<br>
<br>
About using those - everything is handled already. Where needed the<br>
extra include is added by the build (for A) and where the code is<br>
known to be build with MSVC a header from B is used rather than the<br>
system one.<br>
<br>
Hope that clears things up.<br>
<span><font color="#888888">Emil<br>
</font></span></blockquote></div><br></div>
</div></div></blockquote></div><br></div>