vs2012编译器版本|(求救)VS2012和2010编译器问题各问大神走过路过帮帮忙!

㈠ 有没有人用VS2012做过Bolt界面引擎 求教一下怎么配置啊,我老是出现

一般可能是你用的编译器版本和动态库编译用的版本不匹配,同是VS2012的话还要看64 位还是32位DUMPBIN命令可以显示动态库的信息。。。

㈡ 为什么VS2012不支持C++11

Visual Studio 2012只是部分支持,不是不支持,VS2012刚出的那时候估计没有一个款编译器完全支持C++11。Visual C++之前对C++标准的支持比较缓慢,不过Visual C++现在对标准的支持比较积极了,新版本的Visual Studio 2015和目前处在预览版本的Visual Studio 15完全支持了C++11,并且已经实验性地支持部分正在标准化的C++特性。

㈢ 怎么修改VS2012变成和VC一样的编译环境

你新建空的控制台工程就可以了,新建项目、模板、VisualC++、Win32、Win32控制台应用程序、弹出的窗口里,选择应用程序设置,勾上空项目就行了。。。。。

然后手动在工程里创建一个CPP文件,自已加上#include<stdio.h>和intmain()就OK啦

㈣ vs2012自带的是什么编译器

微软自己的编译器vs/vc/bin/cl.exe

㈤ 自从安装了vs2012老是提示#include<iostream>无法打开iostream,2010就没这个问题,这是怎么回事

您好,您是在windows XP下面编写C++源程序嘛,下面我引用一般文章看能不能解决您的问题。 我们最近发布了Visual Studio(以下简称“VS”) 2012的产品线和所支持的平台,其中提到,我们正在评估加入一个选项,让C++开发者在VS 2012中生成的应用程序可以在XP上运行,而不用去安装VS 2010。现在我跟大家介绍下详细情况。 背景:VS 2012所带的C++运行时和程序库使用了一些Windows Vista以及以上版本的系统特有的API,这导致使用VS 2012中的C++编译器生成的应用程序不能在Windows XP上运行。Windows XP应用程序的开发者可以使用VS中针对C++程序的“多目标”功能,这样就可以在VS 2012开发环境中调用VS 2010的编译器。“多目标”功能允许开发者使用新版本IDE的新功能,而不必升级项目文件;也可以让VS 2012使用VS 2010中的编译器,从而使生成的应用程序可以在XP上运行。评估多目标功能:VS 2012 Beta版本提供了使用和评估C++多目标功能的机会,部分Windows XP应用程序的开发者也使用过它。从在线反馈来看,客户希望做到下面两点,从而让VS 2012更好得满足Windows XP应用程序开发者的需求:1、使用同一套编译器和工具链生成支持Windows XP以及更高版本的应用程序,而不是使用(不同编译器和工具链)为XP和Vista或以上版本分别构建应用程序。2使用同一份代码(允许使用C++11新功能)生成支持Windows XP以及更高版本的应用程序。 为了更好地满足客户关于支持XP平台的需求,我们决定增强多目标功能,以便直接使用VS2012的C++编译器和程序库,就可以生成支持Window XP的应用程序。 增强多目标功能 今年秋季,微软将会提供一个VS 2012的更新,让C++应用程序支持Windows XP平台。这个更新会修改VS 2012中的编译器、运行时以及程序库,使得开发者可以创建支持XP或更高版本系统的程序,同时也支持Windows Server 2003以及更高版本。我们最近宣布的VS 2012桌面版也会包含这个更新。 Steve TeixeiraDirector of Program ManagementVisual C++

㈥ 学C++用vc6.0还是vc10.0,或者是vs2010 vs2012

高级的工具慢慢学,时间长了就熟练了。个人认为VC++6.0比较小巧,启动快,用起来也简单,但缺点就是版本太老了,不过编一些基本的dos界面的程序足够了。要想找符合标准的编译器,还是推荐GUN,我现在再用一个开源的编译器叫codeblocks,你要想用的话可以下载一个试试。

㈦ (求救)VS2012和2010编译器问题,各问大神走过路过,帮帮忙!

VS2010和抄VS2012或者sv2008和VS2010,高版本VS编译都会袭出现,使用VS2008的D:\Program Files\Microsoft Visual Studio 9.0\VC\bin目录下的cvtres.exe替换到VS2010版本VS目录下再编译成功。如果不行再用以下操作上网搜索发现是嵌入清单的问题,于是对该工程以及所有依赖工程进行如下操作右键->工程属性->配置属性-> 清单工具->输入和输出->嵌入清单,选择[否]VS2010 2012CLR更换NET版本不像C#可以项目属性直接更改,需要修改 *.vcxproj里面 <PropertyGroup Label="Globals">节点添加以下内容 <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>VS2012使用VS2010编译vc++项目以支持XP系统运行,项目属性 常规平台工具集选择Visual Studio 2010 (v100),必须同时安装VS2010 2012

㈧ 我用VS2012写了一个MFC程序,Debug模式下编译正确,可以生成.exe文件,现在想在没装VS的电脑上运行,

vs2012的编译器默认在xp下就是不能运行的,不是有效的win32程序,因为链接的时候它默认把“最低需求的系统版本”开到vista了……安装了某个ctp补丁之后,工程里面工具集可以选vs2012 targeted xp,这样编译出来xp才能用。release模式编译不正确的的原因,呃,出错信息你没给出来啊,就这么一个“可能添加库不兼容”到底添加了什么库也不说(汗)提示缺少各种dll文件到底缺少什么也不说(汗汗)信息太少了,没法判断问题啊不过反正你当时编译debug的时候在工程选项里面调的各种东西,release的时候也要重新再调一次:因为它俩的配置是分开保存的。坐等楼主提供更多详细信息

㈨ vs2012编写的c#窗体程序在xp上跑不了,怎么办

微软为了推销自家平台,默认配置下VS2012和VS2013编写的应用程序只能在Vista/Win7/Win8上运行。但幸好还保留了生成XP程序的设置项。XP和Win2003的用户还是大量存在的,我们程序软件的发布不能不考虑他们。1. 项目菜单->项目属性->配置属性->常规->平台工具集,选择“VS2013WindowsXP(v120_xp)”;2. 项目菜单->项目属性->配置属性->常规->MFC的使用,选择在静态库中使用MFC;3. 项目菜单->项目属性->链接器->系统->子系统->控制台或窗口windows(根据你的项目类型选择),第二项版本号设成5.01。4. C/C++->代码生成->运行库,选择“多线程调试(/MTd)";5. 还需要至少带有Update3(或4),这一点我没有验证,因为我直接安装的就是带有Update3的VS2013。以上就OK了。缺点仍然有,例如静态编译的EXE比正常动态要大不少,目前我尚未试出动态编译后在XP中能运行的方法,–不过这个不要紧,因为VS2013版本如此之高,客户的电脑上很难自带配有它的运行库,你即使动态编译,发布软件时也还是要带上运行库的,只不过在多个程序时只需带一份运行库罢了。另外,我在实际大项目中用上述方法,仍有出错现象发生。以后再研究吧。一般情况下上述方法就可以了。在网上另外发现了这个贴子,说得很详细,包括非IDE的命令行编译,一起贴到下面:问题一:编译出来的exe在xp上面运行提示“不是有效的win32应用程序”在vs2012/2013版本里面,其自带的c编译器cl.exe,若直接使用cl a.c编译,那么生成出来的exe放在vista及以上版本直接运行没有问题,但是在xp上则会出来“不是有效的win32应用程序”的出错提示。这是因为vs2012/2013自带的c编译器默认情况下生成的exe会默认只支持vista及以上版本的windows系统。解决方法:对于使用命令行cl.exe直接编译的方式:先用cl a.c编译一遍,此时会生成a.exe和a.obj两个文件,此时,再执行 link b.obj /subsystem:console,5.01,它会链接一个新的a.exe出来,此时的exe就可以在xp上运行了。相比vs2010以及以前版本的编译器编译,会多第二步的link过程,后面的参数也很容易理解,subsystem,5.01,此处的5.01是指的windows内核版本号,5.01表示windows 2000 with sp1,即此exe可以在win2000 sp1及以上的windows中执行。当然,这个地方的/subsystem后面有很多参数,上面给的console,5.01是指命令行程序,如果是有GUI即有窗口的程序,改成windows,5.01即可。!!注意!!此处的5.01一定不要想当然改成5.0就变成windows 2000 不带sp1的版本,实际上,5.0并不被vs2013的编译所承认,会报警告不认5.0,就会按照默认的不带5.01的方式编译,这样就无法在vista以下的系统中运行生成的exe了。对于在vs2013里面使用新建项目的方式:右击相应的项目,选择“属性”,在项目属性页中的“配置属性”下面的“常规”里面,把“平台工具集”,由“Visual Studio 2013 (v120)”改成“Visual Studio 2013 – Windows XP (v120_xp)”,确定之后,重新生成项目即可。当然这里按这样修改的话,就只能在winxp及以上的版本系统里面运行了。问题二:用vs2010/2012/2013编译出来的exe在未安装vc++运行库的机器上运行时提示”未找到MSVCR120D.DLL“从而无法运行这是个老问题了,无非就是运行库动态编译和静态编译的问题了。dll动态加载的话有个好处,它可以减少生成的exe文件的体积,但是缺点就是如果对应的系统环境变量或者exe所在的目录里面找不到其所需要的dll文件的话,程序就会拒绝执行。而静态编译就是把所有需要的库都静态编译到exe文件里面,这样就可以在所有的系统平台上都能运行,但它也有一个缺点,就是生成的exe文件因为已经带了部分库的代码,所以体积会相对动态编译出来的exe大(具体大多少要根据库的内容才能确定)。解决方法:对于直接使用cl.exe和link.exe编译连接的方式:直接在cl.exe编译的时候或者在makefile里面把编译参数加上/MT即可。对于在vs2013里面使用新建项目的方式:右击相应的项目,选择“属性”,在项目属性页中的“配置属性”下面的“C/C++”下面的“代码生成”一项,由默认的“多线程调试DLL (/MDd)”,改成“多线程 (/MT)”,确定之后,重新生成项目即可。这样所得的exe文件就是静态编译了。

㈩ 为什么VC6编译出的东西跟VS2012运行结果完全不同

首先,VC6是90年代的,VS2012是10年代的,这么多年了,VC++编译器的实现肯定已经改变了。出现运行结果不同的情况是很正常的,C和C++语言标准有许多未定义的行为,编译器实现改变,对这些未定义行为的预定也会存在改变。 其次,VC6对C++的标准支持度不是很高,而且C++98和C++11也有很大区别。举个例子,for (int i = 0;;);这句话,在VC6里面的i就存在“污染”,并非for内局部变量,而根据C++标准,这里的i是不能作用到for外面的。VS2012对C++标准的支持度提高许多,那么这种不规范的行为都会被矫正。那么VC6与VS2012的结果大相庭径也是可以理解的。 建议题主使用新版本的编译器来比较。比如使用gcc 4.8以上而不是VC++6.0,来与VS2012比较。这样才能验证代码的正确性。 顺便一提,VS2012也有许多不标准的地方,一般认为gcc是比较严格遵守标准的。


赞 (0)