Page 1 of 1

MSVC runtime dependencies

Posted: 28 Nov 2013, 23:47
by ricardog
Hello,

Currently you offer Windows binaries that depend on the MSVC 2010 runtime. It would be very nice if you could also make builds for 2012 and 2013 versions, so we don't have to distribute two runtimes with the application.

Thanks!

Re: MSVC runtime dependencies

Posted: 29 Nov 2013, 00:46
by jsantos
Hi!

We should have no MSVC runtimes dependencies. If you are observing that, it is a bug. Could you tell me which binary is the problematic? (sorry, I am not in from of a computer now). I will investigate it asap.

Re: MSVC runtime dependencies

Posted: 29 Nov 2013, 02:44
by ricardog
Good to know that, it seems that we are using some of the lib files included in your OgreBindings package, and they're probably creating the dependency with VS 2010. We'll replace them with our own compiled libs and that should fix the problem. Thank you anyway!

Re: MSVC runtime dependencies

Posted: 29 Nov 2013, 03:09
by ricardog
While replacing the header dependencies, we stumbled over a different issue. The Noesis::File::BaseFileSystem class contains methods named "CreateDirectory", "CreateFile" and "DeleteFile". Those names conflict with functions of the same name in <windows.h>, which are #defined to other names there (i.e. CreateFileA / CreateFileW). That is causing linker errors. There are some workarounds such as #undef'ing those names but I think it might be better to use different method names and avoid those conflicts.

Re: MSVC runtime dependencies

Posted: 29 Nov 2013, 20:56
by jsantos
Good to know that, it seems that we are using some of the lib files included in your OgreBindings package, and they're probably creating the dependency with VS 2010. We'll replace them with our own compiled libs and that should fix the problem. Thank you anyway!
Yes, it is better if you update those binaries in your program because apart from this, the ogre version is probably outdated. I think we should remove the binaries from the respository.
While replacing the header dependencies, we stumbled over a different issue. The Noesis::File::BaseFileSystem class contains methods named "CreateDirectory", "CreateFile" and "DeleteFile". Those names conflict with functions of the same name in <windows.h>, which are #defined to other names there (i.e. CreateFileA / CreateFileW). That is causing linker errors. There are some workarounds such as #undef'ing those names but I think it might be better to use different method names and avoid those conflicts.
Yes, we got a ticket opened related to that issue. That problem with the macros is really a nightmare. But we don't want to change the API for the next minor versions. Could you file us a bug about this problem?

Thanks.