C++虐恋:MBCS安装失败导致的四天误工
2016-07-28 17:21
447 查看
情况描述:接收远程队友的C++代码,基于vc120工具集(VS2013),而我的机器上是VS2015,需要安装VS2013(只选MFC,除主程序与MFC外其余的组件全部卸掉)。然后开始编译,提示 MSB803 错误:说多字节已经被弃用。
因此需要下载 vs_mbcsmfc.exe,下载后安装失败。
再安装,还是失败。查看日志文件无果,百度,bing,微软社区搜索无果,几近绝望。启用PlanB,那就是把工程属性改为Unicode,手动把代码中的所有字符串用 _T() 宏包裹起来,同时,把 stoi 更改为 _wtoi,同时写了个公共类,用于把 CString类型转换为 char* 类型,以满足底层调用约束。
搞了三天,最后编译仍然出错,提示找不到 mfc120d.lib,mfcs120d.lib,手动在设置里忽略,仍是报错,提示链接错误。
C++的虐心啊。
休息半天之后,我决定重新再来一遍,从下载 vs_mbcsmfc.exe 开始,这次居然安装成功了,不知道该哭还是笑。官网提示文件大小有64M,而我几天前下载得到的文件是50M,居然可以运行。
然后顺利编译。
高兴不了多久,又发现代码中引用了一个第三方的lib,貌似是作者自己写的,使用了一个工厂方法,返回一个基类,调用其虚函数,提示 “函数XXX的地址不存在,可能是编译器优化的结果”。
不管怎样,代码能编译了,这就是进展吧。
因此需要下载 vs_mbcsmfc.exe,下载后安装失败。
再安装,还是失败。查看日志文件无果,百度,bing,微软社区搜索无果,几近绝望。启用PlanB,那就是把工程属性改为Unicode,手动把代码中的所有字符串用 _T() 宏包裹起来,同时,把 stoi 更改为 _wtoi,同时写了个公共类,用于把 CString类型转换为 char* 类型,以满足底层调用约束。
搞了三天,最后编译仍然出错,提示找不到 mfc120d.lib,mfcs120d.lib,手动在设置里忽略,仍是报错,提示链接错误。
C++的虐心啊。
休息半天之后,我决定重新再来一遍,从下载 vs_mbcsmfc.exe 开始,这次居然安装成功了,不知道该哭还是笑。官网提示文件大小有64M,而我几天前下载得到的文件是50M,居然可以运行。
然后顺利编译。
高兴不了多久,又发现代码中引用了一个第三方的lib,貌似是作者自己写的,使用了一个工厂方法,返回一个基类,调用其虚函数,提示 “函数XXX的地址不存在,可能是编译器优化的结果”。
不管怎样,代码能编译了,这就是进展吧。
相关文章推荐
- STM8L15x系列单片机独立看门狗配置
- Eclipse开发C/C++之使用技巧小结,写给新手
- C语言函数sscanf()的用法
- C++类多态与函数多态的实现原理
- 【C/C++】命令行参数
- c++Map的用法
- UVA 375-Inscribed Circles and Isosceles Triangles#
- 数独问题 杭州oj
- c++的类型转换和运算符
- C++编译错误no type named ‘iterator_category’ in ‘class Point’,distance重名
- C++中cin、getline()
- 数独问题
- 用sublime编译C++的方法
- 用sublime编译C++的方法
- C\C++中strcat()函数
- NYOJzb的生日
- C++ typedef用法小结
- 5-43 字符串关键字的散列映射
- 【C++学习之路】解决:无法查找或打开 PDB 文件
- c语言和c++的输入,输出和异常