C++技巧(wxWidgets程序链接错误解决方法)
编译wxWidgets附带的示例时出错:
cvtres:致命错误CVT 1100: DuplicateResource。类型:manifest,名称:1,语言:0x0409
因为是manifest的错误,测试提示:关闭这个exe中生成Manifest文件的选项,可以解决链接错误的问题,但是运行时有错误。测试提示需要使用清单。
打开这个exe项目的rc文件看一下。很简单的两行语句:
Mondrian icon " Mondrian . ico "
# include " wx/MSW/wx.rc "[br/]估计问题出在wx . RC上,打开一看,果然在最下面找到了几行代码:
///////////////////////////////////////////////////////////////////////////////////-defined(WX _ MSC _ FULL _ VER)| | WX _ MSC _ FULL _ VER < 140040130
//参见MSDN的“关于隔离应用程序”主题
# ifdef ISOLATION _ AWARE _ ENABLED
# define wxMANIFEST _ ID 2
# else
# define wxMANIFEST _ ID 1
# endif
# if defined(WX _ CPU _ AMD64)
已定义(WX _ MSC _ FULL _ VER)| | WX _ MSC _ FULL _ VER < 140040130
# endif//!defined(wxUSE_NO_MANIFEST)| |(wx use _ NO _ MANIFEST = = 0)
直接在exe项目的rc文件选项上定义wx use _ NO _ MANIFEST,关闭wx.rc中的清单定义,编译运行,一切OK。
0条评论