一、低版本软件的工程移植到高版本软件中
此以VS2010 C++ 32位控制台工程移植到VS2013编辑和使用为例。1. 确保该工程在VS2010能正常运行,包括Debug版本和Release版本
2. 用简例验证VS2013是否完全安装成功(Visual Studio 2013 配置 OpenCV 2.4.9的 方法可见http://blog.csdn.net/liaoqix/article/details/45315971)
3. 复制Copy整个工程,编译链接生成的文件可除外,但包括工程需要使用的库等VS自带之外的文件
4. 在VS2013打开工程后先对配置进行修改以适应当前电脑的软件配置。这里建议本机的软件使用属性管理器里的Microsoft.Cpp.Win32.user进行配置(永久的),且每个工程自身不配置,这样会方便移植
1)升级工程:这里有两种方法,第一种是当你在2013打开2010工程时,系统自动提醒升级;第二种是在解决方案资源管理器中对工程右键,看属性中配置属性的常规,找到常规下的平台工具集,如果没升级应该是“(v100)”,升级完后应为“Visual Studio 2013(v120)”,倘若还未变v120或者系统没有自动提示升级,则需要在这将该项重新选择为v120;
2)修改工程配置:如果移植的工程带配置或者需要使用到特殊的配置,则需要将所有的配置彻底检查一遍以适应VS2013所在的电脑环境;
3)MFC工程:这里的VS2013还必须打一个补丁,可从出错提示的网址下载;
4)字符出错:据我经验,如果出错,则需要在解决方案资源管理器中对工程右键,看属性中配置属性的常规,找到项目默认项下的字符集,将其改为“使用多字节字符集”,若这个不行把其他的都尝试一下。
二、Debug版本可以但Release版本报错
关键点:1) 缺少初始化:对于Debug来说,编译时系统会自动进行初始化,但Release则没有,因此如果没有初始化定义的时候,可能会导致越界或非法地址访问;
2) 头文件顺序:经常不注意或者太依赖编辑器的时候就会忽略头文件顺序问题,在不同的版本中顺序要求会有点不同,可以尝试调换一下顺序试试。
三、Visual Studio 2013控制台闪现无法查看输出内容
可以使用“system("pause");”命令,其头文件为“#include<iostream>”。
可如:
#include<iostream>
int main()
{
system("pause");
return 0;
}