如何用 VS 2013 vs2013打包安装程序 VC++ 程序

问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
如题 他们的区别是什么
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
c++特性。 vc6没记错的话是c++ 9,很旧的一个版本。而且编译器有很多诡异的Bug。题主可以去看看c++的特性变迁。至于你说很多人用vc而不是vs,可能是因为谭浩强的锅:)。我身边做Windows桌面客户端的最低也是vs2010了
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
VS包括了VC,VS在2000年发布,其中包含了VC,VC6是96年发布的产品
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
VC++6.0使用多的原因二级和谭浩强(此处省略N个羊驼),VC++6.0只只支持标准C++的86%,微软官方解释:VS2008已经能支持标准C++的98%。VC的编译器Bug很多,而且目前电脑基本上是win7及以上系统(除了学校),为啥还要用Vc这个20世纪的产品。如果只是为了考二级啥的,VC就可以,如果是搞程序的,VS吧。
同步到新浪微博
分享到微博?
你好!看起来你挺喜欢这个内容,但是你还没有注册帐号。 当你创建了帐号,我们能准确地追踪你关注的问题,在有新答案或内容的时候收到网页和邮件通知。还能直接向作者咨询更多细节。如果上面的内容有帮助,记得点赞 (????)? 表示感谢。
明天提醒我
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
扫扫下载 AppVC6工程升级VS2013遇到的问题17
上亿文档资料,等你来发现
VC6工程升级VS2013遇到的问题17
VC6工程升级VS2013遇到的问题;问题1:BuildinganMFCproject;BuildinganMFCprojectfora;用于多字节字符编码(MBCS)的MFC库(DLL;在安装MBCSDLL后,如果卸载或修复Visua;总结下就是安装MultibyteMFCLibra;详细信息:;/b/;下载地址:
VC6工程升级VS2013遇到的问题
问题1:Building an MFC project for a non-Unicode…
Building an MFC project for a non-Unicode character set is deprecated 解决方法:
用于多字节字符编码 (MBCS) 的 MFC 库 (DLL) 不再包含于 Visual Studio 中,但是可用作插件,您可以在任何装有 Visual Studio Professional、Visual Studio Premium 或 Visual Studio Ultimate 的计算机上下载和安装。(在 Visual Studio 中,必须启用 MFC。)安装需要大约 440 MB 磁盘空间,包括英语(美国)和 DLL 的本地化版本。
在安装 MBCS DLL 后,如果卸载或修复 Visual Studio,则还会卸载或修复。但是,如果只禁用 MFC,MBCS DLL 仍会保留在系统上。如果仅卸载或修复 MBCS DLL,将不会修改 Visual Studio。
总结下就是安装
Multibyte MFC Library for Visual Studio 2013
详细信息:
/b/vcblog/archive//mfc-support-for-mbcs-deprecated-in-visual-studio-2013.aspx
下载地址:/zh-cn/download/details.aspx?id=40770
问题2:warning C4996: 'MBCS…
warning C4996: 'MBCS_Support_Deprecated_In_MFC': MBCS support in MFC is deprecated and may be removed in a future version of MFC.
解决方法:
这个链接/fwlink/p/?LinkId=279048文中提到可以通过将
NO_WARN_MBCS_MFC_DEPRECATION 预处理器定义添加到您的项目生成定义消除此警告。在项目stdafx.h文件中的#pragma once下面添加
#define NO_WARN_MBCS_MFC_DEPRECATION
问题3:warning C4996应该加“_s”才安全Security CRT functions
原因:是Visual C++ 2005使用了更加安全的run-time library routines,新的Security CRT functions(就是那些带有“_s”后缀的函数):
解决办法:在预编译头文件stdafx.h里(同样要在没有include任何头文件之前)定义下面的宏:
#define _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES 1
#define _CRT_SECURE_NO_DEPRECATE
在链接的时候便会自动将旧函数替换成Security CRT functions,同时去掉红色警告。
问题4:error C1189: #error : MFC does not support WINVER…
error C1189: #error : MFC does not support WINVER less than 0x0501. Please change the definition of WINVER in your project properties or precompiled header.
解决方法:
将stdafx.h文件中的
[cpp]view plaincopyprint?
1. #define WINVER 0x0400
2. #define WINVER 0x0501
3. #define _WIN32_WINNT 0x0400
5. #define _WIN32_WINNT 0x0501
问题5:_WIN32_WINNT not defined….
_WIN32_WINNT not defined. Defaulting to _WIN32_WINNT_MAXVER (see WinSDKVer.h)
解决方法:
在StdAfx.h头文件里面加上#include &SDKDDKVer.h&有关于平台的定义
问题6:warning C4996: 'CWinApp::Enable3dControlsStatic':
warning C4996: 'CWinApp::Enable3dControlsStatic': CWinApp::Enable3dControlsStatic is no longer needed. You should remove this call.
解决方法:
直接注释掉代码如下
[cpp]view plaincopyprint?
1. #ifdef _AFXDLL
Enable3dControls();
// Call this when using MFC in a shared DLL
//Enable3dControlsStatic(); // Call this when linking to MFC statically
问题7:error C2440 “static_cast” 无法从“void (__thiscall CPppView )(void)... 不能转换void (_thiscall CMainFrame::*)(void)to LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM) 11:35开发平台由VC6.0升级至VS2010,需要将原有的项目迁移,可能碰到类似错误:
error C2440: 'static_cast' : cannot convert from 'void (__thiscall CMainFrame::* )(void)' to 'LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)'
VS2010对消息的检查更为严格,以前在VC6下完全正常运行的消息映射在VS2010下编译不通过
ON_MESSAGE(WM_message,OnMyMessage);
OnMyMessage返回值必须为LRESULT,其形式为:afx_msg LRESULT OnMyMessage(WPARAM, LPARAM);如果不符合,则有错误提示:
error C2440: “static_cast”: 无法从“void (__thiscall CPppView::* )(WPARAM,LPARAM)”转换为“LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)”
在匹配目标类型的范围内没有具有该名称的函数
error C2440: “static_cast”: 无法从“void (__thiscall CPppView::* )(void)”转换为“LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)”
在匹配目标类型的范围内没有具有该名称的函数
解决方法如下:
首先,把原来的消息函数返回值类型改为LRESULT,函数内可以随便写个return TRUE; 然后消息函数的参数必须改写成(WPARAM wParam,LPARAM lParam)而不论这两个参数是否用得到;最后,消息映射如ON_MESSAGE(WM_message,& OnMyMessage)
问题8:编译链接时提示找不到预编译头 通常,直接向工程文件里加入一个.cpp 源文件后,编译链接时总是提示找不到预编译头,此时就需要在源文件头部添加如下的包含语句: #include &stdafx.h& 说明
在添加stdafx.h包含语句后,最好也加上应用头文件的包含语句。
问题9:不能通过双击成员变量或成员函数转移至变量或函数定义的位置 在实际开发中,也常常遇到如下的情况。向类中添加的成员变量或成员函数不能在ClassView中显示。不能通过双击成员变量或成员函数转移至变量或函数定义的位置。一般情况下,在输入一个类的对象后,按下“.”后将会出现该类的成员变量和成员函数;或者当输入一个类对象或结构的指针时,按下“&”后也将会出现该类的成员变量和成员函数。这也是Visual C++编译器所固有的功能,可是会发现这两种功能经常不能使用。当出现上述几种情况时,首先关闭工程,然后删除工程文件夹下的.ncb 文件,最后打开工程重新编译即可恢复原有的功能。
问题10.在vc6.0中如何干净的删除类
通常,需要从工程中删除一个不再使用的类,删除类的方法很有讲究,如果不能彻底地删除,将会产生莫名其妙的错误。一般可以按照如下的方法进行。首先在工作区的FileView中选中该类的.h 和.cpp 文件,按Delete键删除,然后在工程的文件夹下将这两个文件删掉,并且把.clw文件也删除(如果不删除此文件,也可以再次运行ClassWizard,这时出现“是否移走该类”的提示,选择remove也可以)即可。在删除.clw文件文件之后,再次使用类向导时将会弹出“.clw 文件不存在”的提示,这时可以按照弹出的提示从工程中的文件创建一个.clw文件文件即可。另外,还需要把引用该类头文件的包含语句删除,否则也将出现错误。
问题11:类的消失
实践中,经常会发现在对某个类作出一系列的操作(如添加成员、响应消息等)后该类竟然从ClassView中消失了,可是并没有任何与该类相关的文件删除操作。其实这是Visual C++的一个bug。遇到这种情况时,一般只需要打开该类对应的头文件,将其类名改一下,然后再恢复这个类的类名称即可,或者在定义类的“class”以及继承类型的关键字之间,随意敲上一个空格或者删除一个空格,也可以达到同样的效果。
问题12 error C2065: “i”: 未声明的标识符
解决办法,将 for (int i = 0; i & m_deviceList.size(); i++) { m_ctlDevicelist.AddString(m_deviceList[i]); } 中变量 i 的定义放到函数体开头 for (i = 0; i & m_deviceList.size(); i++) { m_ctlDevicelist.AddString(m_deviceList[i]); }
另一种方法:
在VC6中,for(int i=0;i&=10;i++) 这里定义的 i 相当于在for外定义的,作用域不只是for的{}内。但是,VS2010支持C++标准,i只能在for的 {}内使用。解决这个问题,可以右键单击项目名,选择属性,然后依次选择配置属性、C/C++、语言,在“强制for循环的一致性”后的下拉框将“是”修改为“否”
问题13: error LNK2019: 无法解析的外部符号 __imp___vsnprintf,
该符号在函数 _StringVPrintfWorkerA@20 中被引用 odbccp32.lib 是在程序中对数据库操作时用到的,这个链接问题在使用静态 DLL 方式时才会遇到,如果使用共享 DLL 方式时不会出现,但是因为本程序需要使用静态 DLL 方式,所以继续尝试其他的解决方法。尝试在程序属性的连接器输入选项中添加附加依赖项 odbccp32.lib,依然报错。于是在系统中搜索这个 lib 文件,最终找到了两种不同版本的 odbccp32.lib。 VC6.0 中文件信息: C:¥Program Files¥Microsoft Visual Studio¥ VC98¥ Lib¥ODBCCP32.LIB VS2010 中文件信息: C:¥Program Files¥Microsoft SDKs¥ Windows¥v7.0A¥Lib¥odbccp32.lib
从文件信息中可以看出两个文件的版本大小都不同。在程序属性的连接器输入选项中添加附加依赖项 C:¥ Program Files¥Microsoft Visual Studio¥VC98¥Lib¥ODBCCP32.LIB,使用 VC6.0 版本的 odbccp32.lib,编译连接成功。但是添加 C:¥ Program Files¥Microsoft SDKs¥ Windows¥v7.0A¥Lib¥odbccp32.lib,使用 VS2010 版本错误依旧会出现。从上面可以看出这个链接问题是 VC6.0 和 VS2010 中 odbccp32.lib 版本不同造成的,解决办法便是在程序属性的连接器输入选项中添加附加依赖项 C:¥ Program Files¥Microsoft Visual Studio¥ VC98¥Lib¥ODBCCP32.LIB,使用 VC6.0 版本的 odbccp32.lib。
问题14 error C2664: “void ATL::CStringT::Format(const unsigned short *,...)”: 不能将参数 1 从“const char [3]”转换为“const unsigned short *” 1& 1& 1& 1& 1& ] with [ BaseType=wchar_t,
StringTraits=StrTraitMFC
与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换这个问题在 VC6 程序升级到 VS2010 时都会遇到,原因就是编码模式的不同。在 VC6 中,默认使用 MBCS(Multi-Byte Character Set)编码,即多字节字符;而 VC8、VC7 默认的是 Unicode 编码。所以解决办法便是程序属性常规选项的字符集改为“Use Multi-Byte Character Set”即可。字符基础(ASCII,DBCS,Unicode)所有的 string 类都是以 C-style 字符串为基础的。C-style 字符串是字符数组。所以我们先介绍字符类型。这里有 3 种编码模式对应 3 种字
问题15、VS2010不支持默认整形
在VC6中,如果没有显式地指定运算符重载函数的返回值类型,编译器默认返回整形。但VS2010不支持默认整形。解决这个问题,可以右键单击项目名,选择属性,然后依次选择配置属性、C/C++ 、命令行,在附加选项中添加
/wd4430 即可
问题16、error C3861: 'min': identifier not found
周末调试mfc程序,因为程序中要调用opencv的库。
但是出现了:microsoft sdks\windows\v6.0a\include\gdiplustypes.h(658) : error C3861: 'min': identifier not found 这么一个问题。
在网上查呢,他们的解释都是关于,他们建的工程不是mfc程序,是调用了CMake。 如:websit。但是呢,我这建立的就是mfc程序。加了NOMAXMIN都没有用。
后面找到问题的根本原因了:原因是因为我包含的第三方库的OpenCV的头文件和系统头文件相冲突。
这就涉及到了C++中头文件的包含顺序问题。 然后我把第三方库的头文件放到最后, 并且是用引号&& 去包括头文件。
[cpp]view plaincopyprint?
1. #include &atlimage.h&
2. #include &opencv2/opencv.hpp&
再去编译就编译成功了。
问题17:LNK4075: ignoring '/EDITANDCONTINUE'…. LNK4075: ignoring '/EDITANDCONTINUE' due to '/SAFESEH' specification
解决方法:
三亿文库包含各类专业文献、文学作品欣赏、中学教育、应用写作文书、VC6工程升级VS2013遇到的问题17等内容。 
 VC6 的工作区文件和项目文件(dsw 和 dsp),并将其 升级为 VS2008 的解决...这个过程不会遇到太多的麻烦,问题都出在随后的编译过程中, 下面就将我在移植的...  VC6工程 迁移到 visual studio 2013-64位 编译_计算机...编译 64 位程序迁移工程的编译过程中,难免出现问题...版本是一致的,而且由于系统更新,一般比 VS 目录下...  constant . 编号:C2001 直译:在常量中出现了换行。...如果函数申明语句有错误,那么将会引发同 样的问题。...VC++6.0工程创建 编辑 编... 6页 免费 VC6升至...  /// /// 6. error : &无法开启 MFC42.lib& ...language='*' 从 VC6.0 升级到 VS2008 的工程。...Manifest 文件后, 编译会出现问题: 嵌入清单: 否;...  VC6升级到vs2010的步骤_计算机软件及应用_IT/计算机_专业资料。1、 用 vs2010...6页 1下载券 VC6创建ocx工程的步骤 暂无评价 7页 4下载券 VC6下配置ACE的...  问题原因:1.fopen 程序出现了两次。 四、无法出表...提交前先 update 更新,达到与服务器版本一致 3.在...VC6工程属性设置 暂无评价 8页 5下载券
vc6 win...  VC6 和 VS2003 转换到 VS2005 时可能会遇到的问题...样的问题, 经常写 VC 工程的人都会遇到升级到 VS...©2013 Baidu 使用百度前必读 | 文库协议...  不过,还有一个小问题,就是 VC6 打开一个文件或工程的时候,会导致 VC6 崩溃...VC6) 全程图解 在 Windows7 下安装 Visual C++ 6.0 后,遇到一个致命的问题...  C 样式转换或函数样式转换 这个问题在 VC6 程序升级到 VS2010 时都会遇到,...vs2010 打开某个工程 ,转换成功之后,在工程目录看见一个 sdf 文件和一个 ipch...VS 2013的初配置和使用(vc++部分)_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
VS 2013的初配置和使用(vc++部分)
上传于|0|0|文档简介
&&希望对大家有帮助
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩2页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢}

我要回帖

更多关于 vs2013c 程序打包 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信