在LNK2038中编译Visual Studio 2010到2012 RC的MFC应用程序
Compiling a MFC app from Visual Studio 2010 to 2012 RC results in LNK2038
我的项目正在VS 2010中以调试和发布模式编译并运行OK。今天我试图用VS 2012编译它,但我得到了这个错误:
1> Generating Code...
1>pcrecppd.lib(pcrecpp.obj) : error LNK2038: mismatch detected for '_MSC_VER':
value '1600' doesn't match value '1700' in NamesEditorDlg.obj
我在代码中搜索了"_MSC_VER",但找不到任何匹配项。我也找不到"1600"或"1700"。
所以我想知道如何解决这个问题。
看起来您正在vc2012中使用vc2010中的.lib(猜测它看起来像PCRE库)。您需要使用DLL(即LoadLibrary、GetProcAddress等)重新编译所有.lib或运行时链接。
在"项目属性"中,选择"常规",然后将"平台工具集"设置更改为"Visual Studio 2010(v100)"。完成此操作后,我的代码使用原始库进行了良好的编译。
查看http://msdn.microsoft.com/en-us/library/b0084kay.aspx这个变量似乎包含编译器的版本号。我认为修复它的最好方法是在2012年创建一个新项目,并将源文件添加到新项目中。
否,您所需要的只是检查项目的属性。存在指向旧项目文件的链接。需要在页面".NET Framework和链接"上打开项目属性,那里有del所有链接,最后为新的2012项目文件添加新的。
相关文章:
- 变量可能尚未初始化[MIRA 2012规则9.1,强制性]
- remove(str.begin(), str.end(), );无法正常工作(我正在使用视觉工作室 2012)
- Windows 资源管理器中的图标在使用 resource.rc 时显示 2 个不同的图标
- 我需要安装什么才能获得在Windows Server 2012 R2 Standard上运行C++hello world
- 如何在Visual Studio中使用Resource.RC文件
- 使用Visual Studio 2012编译时,此代码会给我错误,但是使用代码块就可以了
- Windows 2012 R2 closesocket()挂在侦听套接字上
- 如何配置VS 2012的编译器来更改基本数据类型大小?
- 在 Visual Studio 2012 中未命中断点
- Qt自动生成的.rc文件无法打开包含文件'windows.h'
- 如何从资源文件(.rc 文件)加载位图?
- 为什么 MFC .rc 文件有时会在末尾手动插入 \0?
- 在 Visual Studios 中关闭 rc 资源文件的编辑
- 在Windows Server 2012上运行VS2019编译的应用程序需要什么?
- C++中的XAML桌面应用程序(Visual Studio Ultimate 2012 RC)
- 在LNK2038中编译Visual Studio 2010到2012 RC的MFC应用程序
- MSVC 2012 RC std::线程实现中的最大参数数
- 将 MSVS 2010 项目转换为 MSVS 2012 RC,但出现错误"The C++ standard doesn't provide a hash for this type"
- 如何为 Qt 而不是 MinGW 设置 Visual Studio 2012 RC 编译器
- 在Visual Studio 2012中,如何将资源文件(.rc)链接到c++ dll