TelecomUral
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Цитата: vasyosuol 24 А вот так! Не запускается, и всё | поизучал немножко тему. тут https://social.msdn.microsoft.com/Forums/vstudio/en-US/e89c93e7-1db2-4d88-b834-d8157b4b971b/vs2010created-exe-not-a-valid-win32-app-under-w2000?forum=vcgeneral сказано, что собирать прогу для win2k надо с помощью VC++2008, а VC++2010 уже создаст проблемы: Цитата: It's very clear - they made the CRT link to EncodePointer/DecodePointer which is only available on XP SP2 and above, and Windows Server 2003 SP1 and above. You can hack it up to work by including CRT source files in your compile (changing references of the XP only functions to use dynamic GetProcAddress approaches instead like in VC2008 CRT), which effectively overrides the OBJ files in the CRT statlic libs that Microsoft provides. Also make sure you put /SUBSYSTEM:WINDOWS,5.00 /OSVERSION:5.00 in the linker command line options in project properties. But there's a lot more work if you need MFC. You can see some other approaches here: http://qualapps.blogspot.com/2010/04/visual-c-2010-apps-dont-support-windows.html --- This issue cannot be over-ridden. Some APIs used in VC++ 2010 is introduced from Windows XP SP2. The minimal target platform for VC++ 2010 is Windows XP SP2. http://msdn.microsoft.com/en-us/library/ms235435 If you are using VC++ 2010 to build your application or Windows DLL the minimum supported OS that it will be able to run on is Windows XP SP2 even though SDK supports targeting WIN2K it makes no difference when using platform toolset vc100. The quick way to workaround this issue is to use VC++2008 and earlier. If you still want to use VC++2010 you can set the Platform Toolset to vc90. | Ну или нестандартные решения использовать, типа расширений ядра (гуглится). |