在編譯wxWidgets自帶的samples時(shí)出現(xiàn)一個(gè)錯(cuò)誤:
CVTRES : fatal error CVT1100: duplicate resource. type:MANIFEST, name:1, language:0x0409
由于是manifest的錯(cuò)誤,考試大提示:把這個(gè)exe的生成manifest文件的選項(xiàng)給關(guān)閉了,這樣雖然可以解決鏈接錯(cuò)誤的問題,但是在運(yùn)行時(shí)出現(xiàn)錯(cuò)誤,考試大提示要求使用manifest。
打開這個(gè)exe工程的rc文件看了一下,很簡單的兩行語句:
mondrian ICON "mondrian.ico"
#include "wx/msw/wx.rc"
估計(jì)問題出在wx.rc身上,打開一看,果然在其底部發(fā)現(xiàn)了幾行代碼:
//////////////////////////////////////////////////////////////////////////////
//
// Manifest file for Windows XP
//
#if !defined(wxUSE_NO_MANIFEST) || (wxUSE_NO_MANIFEST == 0)
#if !defined(WX_MSC_FULL_VER) || WX_MSC_FULL_VER < 140040130
// see "about isolated applications" topic in MSDN
#ifdef ISOLATION_AWARE_ENABLED
#define wxMANIFEST_ID 2
#else
#define wxMANIFEST_ID 1
#endif
#if defined(WX_CPU_AMD64)
wxMANIFEST_ID 24 "wx/msw/amd64.manifest"
#elif defined(WX_CPU_IA64)
wxMANIFEST_ID 24 "wx/msw/ia64.manifest"
#elif defined(WX_CPU_X86)
wxMANIFEST_ID 24 "wx/msw/wx.manifest"
#endif
#endif // !defined(WX_MSC_FULL_VER) || WX_MSC_FULL_VER < 140040130
#endif // !defined(wxUSE_NO_MANIFEST) || (wxUSE_NO_MANIFEST == 0)
直接在exe工程的rc文件選項(xiàng)上定義wxUSE_NO_MANIFEST,關(guān)閉wx.rc中的manifest定義,再編譯運(yùn)行,一切OK。
CVTRES : fatal error CVT1100: duplicate resource. type:MANIFEST, name:1, language:0x0409
由于是manifest的錯(cuò)誤,考試大提示:把這個(gè)exe的生成manifest文件的選項(xiàng)給關(guān)閉了,這樣雖然可以解決鏈接錯(cuò)誤的問題,但是在運(yùn)行時(shí)出現(xiàn)錯(cuò)誤,考試大提示要求使用manifest。
打開這個(gè)exe工程的rc文件看了一下,很簡單的兩行語句:
mondrian ICON "mondrian.ico"
#include "wx/msw/wx.rc"
估計(jì)問題出在wx.rc身上,打開一看,果然在其底部發(fā)現(xiàn)了幾行代碼:
//////////////////////////////////////////////////////////////////////////////
//
// Manifest file for Windows XP
//
#if !defined(wxUSE_NO_MANIFEST) || (wxUSE_NO_MANIFEST == 0)
#if !defined(WX_MSC_FULL_VER) || WX_MSC_FULL_VER < 140040130
// see "about isolated applications" topic in MSDN
#ifdef ISOLATION_AWARE_ENABLED
#define wxMANIFEST_ID 2
#else
#define wxMANIFEST_ID 1
#endif
#if defined(WX_CPU_AMD64)
wxMANIFEST_ID 24 "wx/msw/amd64.manifest"
#elif defined(WX_CPU_IA64)
wxMANIFEST_ID 24 "wx/msw/ia64.manifest"
#elif defined(WX_CPU_X86)
wxMANIFEST_ID 24 "wx/msw/wx.manifest"
#endif
#endif // !defined(WX_MSC_FULL_VER) || WX_MSC_FULL_VER < 140040130
#endif // !defined(wxUSE_NO_MANIFEST) || (wxUSE_NO_MANIFEST == 0)
直接在exe工程的rc文件選項(xiàng)上定義wxUSE_NO_MANIFEST,關(guān)閉wx.rc中的manifest定義,再編譯運(yùn)行,一切OK。