Visual studio 2012 windows xp v110 xp

I am trying to write a program in C++ to run on windows xp machines, but when I go to set the tool set to Visual Studio 2012 - Windows XP (v110_xp) it is missing. All that I have is Visual Studio ...

I am trying to write a program in C++ to run on windows xp machines, but when I go to set the tool set to Visual Studio 2012 — Windows XP (v110_xp) it is missing. All that I have is Visual Studio 2012 (v110). Does anyone know how to get the other options here?

asked Oct 9, 2013 at 17:10

June Lewis's user avatar

1

You may need to install an update, Windows XP support wasn’t available in the initial release of VS 2012. Go to Tools -> Extensions and Updates -> Updates and install all available updates.

answered Oct 9, 2013 at 17:12

mattnewport's user avatar

mattnewportmattnewport

13.5k2 gold badges34 silver badges39 bronze badges

3

После сборки на VS 2012 выясняется, что приложение попросту отказывается запускаться на Windows XP, хотя и нет ничего специфичного. Беда…

Что нужно сделать чтоб это исправить:
1. Обновляем Visual Studio до ServicePack 1 или новее (на момент написания актуален SP4). Без сервиспака, увы, ничего не выйдет. Эх, microsoft, microsoft…

2. В свойствах проекта на вкладке Configuration — Properties — параметр Platform Toolset выбираем пункт Visual Studio 2012 — Windows XP (v110_xp)

3. Обычно этого бывает достаточно. Но не всегда. В Windows XP нет функции GetTickCount64 в KERNEL32.DLL, а многие либы и программы ее используют (на удивление, даже если вы ей не пользовались — с большой вероятностью зависимость к ней будет). Чтобы избежать ее использования, нужно в свойствах проекта во вкладке C++ — Preprocessor — параметр Preprocessor Definitions добавить:
WINVER=0x0501;_WIN32_WINNT=0x0501

4. Если ваш софт использует функции PS API, то надо еще добавить в директивы препроцессора:
PSAPI_VERSION=1
Иначе работать не будет даже под вистой — только семерки и восьмерки.

После этого совместимость с WinXP будет достигнута

P.S. Если собираете boost на VS 2012 — он будет использовать GetTickCount64. Чтобы исправить, в параметры вызова сборщика bjam.exe добавить те же дефайны: define=WINVER=0x0501 define=_WIN32_WINNT=0x0501 define=NTDDI_VERSION=0x05010000 define=PSAPI_VERSION=1

  • #2

www.blast.hk

Настройка под XP

Здравствуй народ! Из скачанного проекта с форума: _____________________________________________________________________________ 1>—— Построение начато: проект: SFPlugin, Конфигурация: Release Win32 —— 1>Файл проекта содержит ToolsVersion=»12.0″. Данный набор инструментов является…

www.blast.hk


www.blast.hk

iliyasyeskhatov


  • #3

www.blast.hk

Настройка под XP

Здравствуй народ! Из скачанного проекта с форума: _____________________________________________________________________________ 1>—— Построение начато: проект: SFPlugin, Конфигурация: Release Win32 —— 1>Файл проекта содержит ToolsVersion=»12.0″. Данный набор инструментов является…

www.blast.hk


www.blast.hk

Нет не помогает

  • #4

Что ты пробовал?
Пробовал, установить «Обновление 4»?

1621757894743.png

  • #5

Глянь здесь, может поможет

iliyasyeskhatov


  • #6

1621752773797.png

Крч такая проблема

  • #7

В настройках проекта смени инструменты сборки с v110_xp на v142

Цитата
Сообщение от -=ЮрА=-
Посмотреть сообщение

Убежденный, ещё раз, я не хочу ругаться но некоторые точки над и надо расставить.

Ну так я же предлагаю не ругаться, а определиться в отношении одного-единственного вопроса:

Цитата
Сообщение от -=ЮрА=-
Посмотреть сообщение

2-й NET шёл во всех последних сервис packs ХР

Я привел ссылку из официального источника со списком исправлений, включенных в третий
сервис-пак для Windows XP. .NET Framework 2.0 среди них отсутствует. Это также легко
проверяется эмпирически: берем несколько разных дистрибутивов с XP SP2/3 Home/Pro,
устанавливаем и запускаем на них приложение, собранное под второй дот-нет.
Получаем 0xC0000135 (dll не найдена). Либо, что более правильно, ищем раздел реестра
HKEY_LOCAL_MACHINESoftwareMicrosoftNET Framework SetupNDPv2.0.50727
Что характерно, ни на одной из известных мне сборок Windows XP сразу после установки или
после накатывания SP3 этого ключа нет. А с Windows XP я работаю достаточно давно,
практически с момента ее выхода, у меня и сейчас на виртуалках три тестовые сборки XP
разных редакций (SP2, SP3, XP-64), так что любые подобные предположения очень быстро
доказываются или опровергаются.

Вот и вторая ссылка, содержащая список исправлений для Windows XP после SP3, по
состоянию на сентябрь 2012:
http://blogs.technet.com/b/yon… p-sp3.aspx

Как нетрудно заметить, .NET Framework 2.0 нет и в этом списке.

Вот еще, для полноты картины. Здесь утверждается, что .NET Fx (1.0 или 1.1) предустановлен
только в редакциях Media Center и Tablet PC:
http://blogs.msdn.com/b/astebn… he-os.aspx

Есть желание спорить — жду ответных ссылок на авторитетные источники. Иначе разговор ни о чем.

EDIT (June 26, 2013) – Microsoft has released the final version of Visual Studio 2012 Update 3 that completely fixes this issue.  For more information on Update 3, please click here.

EDIT (May 11, 2013) – Microsoft has released an RC of Visual Studio 2012 Update 3 that fixes this issue which is “go live”, meaning if you can’t wait for the final Update 3 and need a Microsoft supported solution immediately, you can use it with production releases.  For more info look here and to download look here. For a solution to use with Update 2, see below.

Due to a regression in Visual C++ 2012 Update 2, applications using ATL will no longer be able to run on XP, even if using built-in XP targeting support.  This is due to a new dependency on InitializeCriticalSectionEx.  Running an app on XP that was built with Visual C++ 2012 Update 2 will give you the following error message:

Entry Point Not Found

The procedure entry point InitializeCriticalSectionEx could not be located in the dynamic link library KERNEL32.dll

To fix this, I’ve published a new version of the xpsupport tool, namely XPSupport for VC11 Update 2 Version 1.02, on my skydrive.  It simply wraps the InitializeCriticalSectionEx function with an XP compatible replacement, using techniques I’ve used in previous blog entries.

To use this solution, simply add build customizations (masm) to your project by right clicking on the project in solution explorer and choosing “build customizations” and check masm (targets, props) on, then add the three files (xpatl.cpp, xpatlwrap.asm, and xpatlwrap64.asm) contained in the zip file named: xpsupportvc11upd2v102.zip found here:

https://skydrive.live.com/redir?resid=1B361BF333E9AB82!153&authkey=!AEAOQJ4-LCqWQiw

Build your app, and now your app will run under XP.

EDIT: despite the title of this blog post, I received reports that this works also for dynamically linked apps (i.e. linking to MFC and the CRT dynamically)

More info about the cause found here:

http://social.msdn.microsoft.com/Forums/en-US/visualstudiogeneral/thread/f0477c9f-8a2c-4e6b-9f5a-cd2469e216c4

credits to VSBs and others for reporting and researching this issue.

changelog:

1.00 2013-04-14 Initial Release

1.01 2013-04-15 added x64 support

1.02 2013-04-17 cleaned up Vista check

August 13 2013, 17:26

Categories:

  • IT
  • Компьютеры
  • Cancel

Оказывается сабж?!! При попытке запуска выдается сообщение об ошибке «<запускаемый файл> не является приложением Win32»! Первая реакция: маты в сторону Билла Гейтса (а кого же еще? :), маркетинговое давление с целью дополнительно простимулировать уход с рынка старых операционных систем (XP) с пользу новых (7, 8). Ну и кое-что еще по мелочи… На самом деле оказывается, что новые приложения используют API-функции, которых нет в DLL-библиотеках XP. Чтобы сказать среде, что необходимо пользоваться старыми версиями вызовов, русскоязычный инет советует накатить Service Pack 1 (сейчас уже есть 3) на вижуалку и в свойствах проекта выбрать General -> Platform toolset -> "Visual Studio 2012 - Windows XP (v110_xp)" (без SP данная опция недоступна). Также не лишним будет указать использование статических библиотек General -> Use of MFC -> Use of MFC in a static library.

Untitled-1

Однако и после этого у меня ничего запускаться не захотело. Решилось добавлением опции командной строки линкера "/SUBSYSTEM:CONSOLE,5.01" (без кавычек, Linker -> Command Line -> Additional options). Приятного программирования!

PS. Как забавно выглядят названия опций командной строки в русском переводе — чтобы враг не догадался! :)

Is there a plan to release the tbb binaries built with Visual Studio 2012 – Windows XP (v110_xp)?  This would allow the binaries to run on Windows XP and Windows Server 2003.

Thank you,

Jon

In the Property Pages dialog box for the project, under Configuration Properties, General, set the Platform Toolset property to Visual Studio 2012 – Windows XP (v110_xp).


  • All forum topics


  • Previous topic

  • Next topic

11 Replies

Hi Jon,

I don’t know if TBB team has a plan to release binaries compiled with Visual Studio 2012 but I can tell you that TBB works on

Windows XP

.

>>…This would allow the binaries to run on

Windows XP

and Windows Server 2003…

Do you have any problems?

Also, TBB is an Open Source library and you could try to build TBB with Visual Studio 2012. Did you try it?

The TBB built with Visual Studio 2012 does not currently run on XP. This is because it was not built with the v110_xp Toolset Platform option which just became available last week with the SP1 release. Would you be able to find out if future releases will be compiled with this Visual Studio option?

I have not yet tried building TBB with Visual Studio 2012 and the proper XP support option…that is a last resort.

Here is a link describing what is needed to support XP with Visual Studio 2012:
http://blogs.msdn.com/b/vcblog/archive/2012/10/08/10357555.aspx

Thanks,
Jon

Sorry for a duplicate. Sent from a tablet.

I’ll take a look at the link. I know a user who uses VS 2012 and TBB and everything works well for him.

Running TBB built with Visual Studio 2012 on XP will NOT work unless you set the option I mentioned. Without the option the binaries will not run according to the Microsoft Visual Studio team, and the testing I have done. That is why they added XP support in Visual Studio SP1.

>>…Running TBB built with Visual Studio 2012 on XP will NOT work unless you set the option I mentioned…

It is clear that Microsoft is trying to create as many as possible obstacles for users who are still using Windows XP.

>>…I have not yet tried building TBB with Visual Studio 2012 and the proper XP support option…that is a last resort…

If you have Visual Studio 2012 SP1 with option v110_xp Toolset Platform ‘on’ and TBB sources why wouldn’t you try to build TBB binaries and test a couple of examples? If you have any questions please let me know.

Note: It is a common issue / problem with forums that after some point a user should do its own job to resolve a problem and to find a solution / workaround.

>>Here is a link describing what is needed to support XP with Visual Studio 2012:
>>http://blogs.msdn.com/b/vcblog/archive/2012/10/08/10357555.aspx

Thanks for the link. Here is a very impressive comment from a reader of that blog:


Leave it to Microsoft to screw this up. There’s no excuse for introducing a new toolset to handle XP. If some damn fool broke the SDK headers in Windows 8, (1) said fool should be fired (which will make Mini-MSFT happy), and (2) the headers should be fixed. The SDK headers are already full of #ifdef’s to selectively expose API’s based on target OS version. Shipping the Windows 7 headers is a huge kludge to avoid doing the job properly.

It is not related to the subject of the thread but my point of view is as follows:

Microsoft can’t handle any longer over-complexity of Windows OSs and some software and constant flow of inconsistencies in Win32 API of different Windows OSs. Look, security bugs in Windows XP are not fixed completely for more than 10 years and won’t be fixed ever. In 1995 I had a computer with 16MB of memory (!) and a very light and impressive ( almost perfect! ) Windows 95. Now, in 2012 I have a new notebook with 16GB (!) of memory and a heavy Windows 7. But, as a C++ developer I do almost the same things: design, implementation, debugging, testing, etc. Would I call an Aero UI as the most innovative feature of the Windows 7? No and that is why on that notebook I disabled it and switched UI to ‘Standard Windows XP’.

A couple of days ago I read an article and there was a statement: «…Microsoft is in a death spiral…».

Your comments bashing Microsoft aren’t helpful to anybody as it doesn’t solve anything. The question remains, will TBB be built with the v110_xp option or not?

Can I build tbb myself? Yes, of course, but the question was… Will Intel build TBB with the v110_xp option? If you don’t know the answer, please don’t respond.

Thank you,
Jon

Hello,

I have not heard about this problem before. We’ll review this and come back with the decision. As far as I can see we have a problem only with GetTickCount64() function that was used regardless to setting a limitation _WIN32_WINNT to 0x0501.

thanks for the links,
—Vladimir

Hello, 

there is a small update on this. It looks that visual studio update 1 has fixed GetTickCount64() issue but we are still evaluating what is the better way to provide fixed binaries because they should work with vanilla Visual Studio 2012. Meanwhile I suggest to use release versions located in other folders (vc_mt,  vc10). AFAIK runtime libraries should be available on the system.

—Vladimir

Hello, 

Recently released Intel TBB 4.2 update 4 provides vc11 (VS2012) and vc12 (VS2013) libraries that should work on XP/2003.

Let us know if you are still experiencing issues there.

—Vladimir


  • All forum topics


  • Previous topic

  • Next topic

Понравилась статья? Поделить с друзьями:
  • Visual studio 2012 visual studio express 2012 для windows 7
  • Visual c 2017 redistributable скачать для windows 10 x64
  • Visual studio 2012 for windows phone 8
  • Visual bcd editor rus скачать windows 10
  • Visual studio 2010 скачать торрент windows 10 64 bit