导航:首页 > 源码编译 > 编译器vs12是代表什么意思

编译器vs12是代表什么意思

发布时间:2022-06-15 05:20:40

1. visual studio2012能编译C++代码吗

visual studio 2012是微软的一个编译器。
他可以编写多种语言,如:C、C++、C#、F#等.。
编写方法可以看http://v.youku.com/v_show/id_XMjM3MzYwNDUy.html
这是一个VS2010的教程。
里面只要把F5该成ctrl+f5就可以不加system ("pause")。
visual C++ 6.0 迅雷下载:

2. opencv2.4.13配置vs2012中的vs 指的是什么

2015/12/21发布的Version 3.1.0,最新发布是2016/05/19日的Version 2.4.13。
Version 3.1.0只有64位的开发包,还没(不知道未来会不会)支持32位的编译环境,这里使用Version 2.4.13。

下载完成之后双击“opencv-2.4.13.exe”,弹出安装(解压)对话框:

选择安装路径,这里使用的是“D:\ProgramFilesD”,点击“Extract”后开始解压;
值得注意的一点是不需要在安装目录里额外建“opencv”的文件夹,OpenCV安装包解压出来的根目录就是“opencv”。

2.本机环境变量和路径配置

点击开始菜单,右击计算机->属性->高级系统设置->高级->环境变量,打开环境变量设置对话框,如下图:

在用户变量里新建变量OpenCV,变量值:D:\ProgramFilesD\opencv\build;

在用户变量里新建变量path,变量值:D:\ProgramFilesD\opencv\build\x86\vc11\bin;

在这里可能有人会有疑问:编译器是VS2012,变量值不应该是XX\vc12\bin吗?注意,在OpenCV配置中,vc11即对应VS2012,vc12对应的是VS2013。

另一点要关注的是上述变量值到底应该是x86还是x64?这里x86还是x64的选择跟你的电脑是32位还是64位无关,vs2012编译环境默认的使用win32编译器,所以选择x86。

在系统变量里编辑(或添加)Path变量,变量值:D:\ProgramFilesD\opencv\build\x86\vc11\bin,注意要使用英文输入下的分号和前面已有的路径分开,添加完之后需要重启或注销计算机,环境变量才会生效。

3. IDE工程项目属性配置

新建Win32控制台应用程序,工程名命名为MyFirstOpenCV,在其后的选项里选择空项目:

右击MyFirstOpenCV工程->添加新建项,在弹出的对话框中选择C++ 文件(.cpp),添加源文件,命名为MyFirstOpenCV.cpp:

在视图目录的下拉菜单中打开属性管理器,在属性管理器的Debug|Win32目录上单击选择“添加新项目属性表”,新建属性表,并命名为OpenCV_Debug_Setting.props,如下图所示:

双击打开属性表OpenCV_Debug_Setting.props。选择通用属性->VC++目录,在包含目录里添加3个目录:

D:\ProgramFilesD\opencv\build\include\opencv2
D:\ProgramFilesD\opencv\build\include\opencv

D:\ProgramFilesD\opencv\build\include

同样在VC++目录下,在库目录里添加1个目录:

D:\ProgramFilesD\opencv\build\x86\vc11\lib

选择通用属性->链接器->输入->附加依赖项,在附加依赖项里添加库文件:

opencv_ml2413d.lib
opencv_calib3d2413d.lib
opencv_contrib2413d.lib
opencv_core2413d.lib
opencv_features2d2413d.lib
opencv_flann2413d.lib
opencv_gpu2413d.lib
opencv_highgui2413d.lib
opencv_imgproc2413d.lib
opencv_legacy2413d.lib
opencv_objdetect2413d.lib
opencv_ts2413d.lib
opencv_video2413d.lib
opencv_nonfree2413d.lib
opencv_ocl2413d.lib
opencv_photo2413d.lib
opencv_stitching2413d.lib
opencv_superres2413d.lib
opencv_videostab2413d.lib

OK,至此,VS2012环境下配置OpenCV2.4.13的工作已经全部完成了,对于之后创建的OpenCV工程,只需要添加本工程的属性配置即可,不再需要一步一步重复配置。
方法:首先保存本工程的属性配置文件OpenCV_Debug_Setting.props到备用文件夹,该属性配置文件在本项目中的路径是:
D:\VS2012Test\MyFirstOpenCV\MyFirstOpenCV
之后在新创建的工程中,在属性管理器中添加OpenCV_Debug_Setting.props属性表即可:

4.OpenCV项目测试
最后让我们来测试一下所做的配置是否OK。
在程序的源文件MyFirstOpenCV.cpp文件中加入如下代码,用于在窗口中显示一幅图片:

[cpp] view plain print?
<pre name="code" class="cpp">#include <iostream>
#include<core/core.hpp>
#include<highgui/highgui.hpp>

using namespace cv;
using namespace std;

int main()
{
[cpp] view plain print?
//读入图片,注意图片路径
Mat image=imread("D:\\Picture\\lena.jpg");

//图片读入成功与否判定
if(!image.data)
{
cout<<"you idiot!where did you hide lena!"<<endl;

//等待按键
system("pause");
return -1;
}

//创建一个名字为“Lena”的图像显示窗口,(不提前声明也可以)
namedWindow("Lena",1);

//显示图像
imshow("Lena",image);

//等待按键
waitKey();
return 0;
}

如果配置正确,编译运行后令我们魂牵梦绕的lena大美女就会出现在屏幕上对我们微笑了。

OpenCV的神奇美妙世界的大门已经为你敞开,Go for it!

3. vs2012自带的是什么编译器

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

4. 如何确定VS编译器版本

如何确定VS编译器版本

_MSC_VER是MSVC编译器的内置宏,定义了编译器的版本,_MSC_VER 值对应版本关系

MSVC++ 11.0 _MSC_VER = 1700 (Visual Studio 2012)
MSVC++ 10.0 _MSC_VER = 1600 (Visual Studio 2010)
MSVC++ 9.0 _MSC_VER = 1500 (Visual Studio 2008)
MSVC++ 8.0 _MSC_VER = 1400 (Visual Studio 2005)
MSVC++ 7.1 _MSC_VER = 1310 (Visual Studio 2003)
MSVC++ 7.0 _MSC_VER = 1300 (Visual Studio 2002)
MSVC++ 6.0 _MSC_VER = 1200
MSVC++ 5.0 _MSC_VER = 1100

example:

#if (_MSC_VER == 1300) //vc7
#import "acax16ENU.tlb" no_implementation raw_interfaces_only named_guids
#elif (_MSC_VER == 1200) //vc6
#import "acad.tlb" no_implementation raw_interfaces_only named_guids
#elif (_MSC_VER == 1400) //vc8
#import "acax17ENU.tlb" no_implementation raw_interfaces_only named_guids
#elif (_MSC_VER == 1500) //vc9
#import "acax18ENU.tlb" no_implementation raw_interfaces_only named_guids
#endif

在程序中加入_MSC_VER宏可以根据编译器版本让编译器选择性地编译一段程序。例如一个版本编译器产生的lib文件可能不能被另一个版

本的编译器调用,那么在开发应用程序的时候,在该程序的lib调用库中放入多个版本编译器产生的lib文件。在程序中加入_MSC_VER宏
,编译器就能够在调用的时根据其版本自动选择可以链接的lib库版本,如下所示。
#if _MSC_VER >= 1400 // for vc8, or vc9
#ifdef _DEBUG
#pragma comment( lib, "SomeLib-vc8-d.lib" )
#else if
#pragma comment( lib, "SomeLib-vc8-r.lib" )
#endif
#else if _MSC_VER >= 1310 // for vc71
#ifdef _DEBUG
#pragma comment( lib, "SomeLib-vc71-d.lib" )
#else if
#pragma comment( lib, "SomeLib-vc71-r.lib" )
#endif
#else if _MSC_VER >=1200 // for vc6
#ifdef _DEBUG
#pragma comment( lib, "SomeLib-vc6-d.lib" )
#else if
#pragma comment( lib, "SomeLib-vc6-r.lib" )
#endif
#endif

5. visual C++6.0和visual 2012有哪些区别

功能肯定是VS2012更强,不过对于日常学习需要来说VC6.0更适合,VS2012编译器更严格,好多函数不能使用,比如scanf,fscanf等,编译直接报错。如果日常学习使用VC6.0够用了,或者用Vs2010

6. VS2012代码编辑区不同颜色代表什么

左边黄色表示那一行的内容已修改,绿色表示未修改。保存后黄色变绿色。

右边默认配色是:蓝色是关键字,深紫色是宏,淡蓝色是自定义类型,棕色是字符串和字符,灰色是函数形参。

7. visual C++6.0和2012有哪些区别

visual C++6.0和2012均为开发环境,C++是编程语言,两者不能混为一谈。如果学习开发,建议选择版本较高的开发环境。

8. VS2010和VS2012究竟支持怎样的C标准

记得以前看过一篇文章,说微软主要的方向是对c++的编译器提供新特性的支持(对c++11还是做了许多支持的),而不是c编译器。
再加上c/c++ 本来是visual studio中的二等公民,c编译器好像还是不支持c99的(没看到微软说过支持,visualstudio中测试也是不支持)。如果非要用这些特性,并且不考虑用visual studio的话,可以选择gcc编译器。
另外,对于你那个补充的代码,c语言的标准一直就支持这种形式的。变量定义只要是在块开头(花括号)就可以了,而不是非要在函数开头,所以那是能编译过去的。

9. Visual Studio 2012(C语言) 与visual C++ 6.0 语法主要在哪些地方不一样

就语法支持来说,应该差别不大,因为VS至今都没实现C99标准

如果有问题,主要是这几个方面:

  1. 你写的程序本身有问题,可能涉及到一些未定义问题,这类问题不会提示error,但会使得结果出错,比如i=++i+(++i)+(++i)等,同一句语句多次使用前缀后缀++

  2. 微软从VS2005开始,重写了一套库函数,原先的库函数比如scanf等被认为是不安全的,要改成scanf_s之类的函数(参数也改了,具体可以查看MSDN的帮助文档),或者在最开头定义#define_CRT_SECURE_NO_WARNINGS来无视安全警告

  3. 看清楚文件后缀,是否是.c的,.cpp是用C++解析的,不过问题应该不大,因为你写的是C的,不是C++。只是有一些风格比较老的C++不能用了,比如#include<iostream.h>,不过C不存在这些问题。

  4. 引用的windows库函数过旧,微软更新过大量的API,如果使用了一些系统的API,就必须注意是否过期被淘汰,或者该API被修改(或者是使用方法被修改),比如要事先#define,或引入某些其他的头文件等等

  5. 代码风格太老,比如void main(){}等等,新编译器无法使用,特别是gcc,但VS好像可以使用

一般主要问题是针对C++的,因为C++的标准更新过多次,但C的标准还是C99,而且微软目前也不打算实现C99,不过VC6.0的很多部分已经和现在的标准、风格脱节了,最好不要再用VC++6.0

10. VS编译器!

这个和c++没什么关系,所有c代码都可以直接移植,c++向下兼容c,代码不能用估计是编译器支持的c语言标准问题.
比如c99或者c11标准,如果是scanf不能用 需要改成s_scanf这样的错误,那就是c标准的问题了,
或者你编译器要是vs2010以上,十有八九就是编译器的问题了,修改你的函数吧,新的安全规则比旧的好,学新的没坏处

阅读全文

与编译器vs12是代表什么意思相关的资料

热点内容
java字符处理函数 浏览:274
指纹用于应用加密什么意思 浏览:998
怎么取消苹果手机的appid密码 浏览:997
门禁系统录制卡怎么加密 浏览:753
ssm看源码哪本书好 浏览:933
linux查看网卡的命令 浏览:497
basic语言算法 浏览:13
怎么快捷删除无用文件夹 浏览:475
你家离学校源码用英语回答 浏览:504
电脑如何用服务器地址 浏览:652
php转化为二进制 浏览:738
程序员到国企感受 浏览:863
js二分搜索算法 浏览:658
文件夹的定义与原意 浏览:202
phpredis任务队列 浏览:463
文件夹的颜色代表什么 浏览:895
单片机模拟通信 浏览:931
pandas在哪里编译 浏览:918
安卓机怎么调清晰度 浏览:346
开始菜单文件夹英语 浏览:887