dimanche 10 mai 2015

Modern C++ and old Windows versions

I've been working on some project. I use Microsoft Visual C++ 2013. My application works fine under new Windows, but users with older systems can't use it. I know there are many ways to fix this. However I don't want to require Redistributable Package or put needed DLLs with my executable file. I think linking statically with runtime library is the best solution for me. I changed Platform Toolset to Windows XP (v120_xp) and Runtime Library to "Multi-threaded (/MT)". I tested with few older Windows. But it still doesn't work and error message is "The procedure entry point EncodePointer could not be located in the dynamic link library KERNEL32.DLL.". So I decided to install Code::Blocks with MinGW. I modified my code a little bit, because pragma comments and a few other things are not supported. I compiled it and tested. It worked even under Windows XP Home without any Service Pack, .NET Framerwork etc. It was just a system only with Windows (VirtualBox).

I really like Microsoft Visual Studio and their standard compilers (I have tried also VisualGDB...). Is there any way to use it with C++11 under Windows XP without SP and all newer? Or need I to stay with Code::Blocks now?

Aucun commentaire:

Enregistrer un commentaire