【问题标题】:wxWidgets defaultlib 'MSVCRT' conflicts problemwxWidgets defaultlib 'MSVCRT' 冲突问题
【发布时间】:2011-01-26 13:10:37
【问题描述】:

所以,我有一个代码非常简单的小项目。它真正所做的只是通过以下方式创建一个 wxFrame:

wxFrame(NULL, -1, title, wxPoint(-1, -1), wxSize(380, 220))

我的任何代码都没有编译问题。当我这样做时出现问题:

IMPLEMENT_APP(App);

应用是:

class App: public wxApp

所以,当我这样做并点击编译时,出现以下错误:

1>LINK : 警告 LNK4098: defaultlib 'MSVCRT' 与其他库的使用冲突;使用 /NODEFAULTLIB:library 1>CApp.obj:警告 LNK4248:'wxVideoMode' 的未解析 typeref 令牌 (01000019);图像可能无法运行 1>CLoadingFrame.obj:警告 LNK4248:'wxToolTip' 的未解析 typeref 令牌(01000019);图像可能无法运行 1>CLoadingFrame.obj:警告 LNK4248:'wxDropTarget' 的未解析 typeref 令牌 (0100001A);图像可能无法运行 1>CLoadingFrame.obj : 错误 LNK2020: 未解析的令牌 (0A000DB2) "int g_isPainting" (?g_isPainting@@3HA) 1>CApp.obj : 错误 LNK2020: 未解析的令牌 (0A000DBE) "int g_isPainting" (?g_isPainting@@3HA) 1>CLoadingFrame.obj : 错误 LNK2028: 未解析的令牌 (0A000DB4) "void __cdecl wxOnAssert(char const *,int,char const *,char const *,char const *)" (?wxOnAssert@@$$FYAXPBDH000@Z) 引用在函数“受保护:void __thiscall wxShadowObjectFields_wxImplementation_HashTable::ResizeTable(unsigned int)”(?ResizeTable@wxShadowObjectFields_wxImplementation_HashTable@@$$FIAEXI@Z) 1>CApp.obj : 错误 LNK2028: 未解析的令牌 (0A000DC0) "void __cdecl wxOnAssert(char const *,int,char const *,char const *,char const *)" (?wxOnAssert@@$$FYAXPBDH000@Z) 引用在函数“受保护:void const * __thiscall wxVectorBase::GetItem(unsigned int)const”(?GetItem@wxVectorBase@@$$FIBEPBXI@Z) 1>CApp.obj:错误LNK2019:函数中引用的未解析外部符号“void __cdecl wxOnAssert(char const *,int,char const *,char const *,char const *)”(?wxOnAssert@@$$FYAXPBDH000@Z) “受保护:void const * __thiscall wxVectorBase::GetItem(unsigned int)const” (?GetItem@wxVectorBase@@$$FIBEPBXI@Z) 1>CLoadingFrame.obj : 错误 LNK2001: 无法解析的外部符号 "void __cdecl wxOnAssert(char const *,int,char const *,char const *,char const *)" (?wxOnAssert@@$$FYAXPBDH000@Z) 1>CApp.obj : 错误 LNK2001: 无法解析的外部符号 "int g_isPainting" (?g_isPainting@@3HA) 1>CLoadingFrame.obj : 错误 LNK2001: 无法解析的外部符号 "int g_isPainting" (?g_isPainting@@3HA) 1>CApp.obj : 错误 LNK2001: 无法解析的外部符号“public: virtual void __thiscall wxAppConsole::OnAssertFailure(char const *,int,char const *,char const *,char const *)” (?OnAssertFailure@wxAppConsole@@UAEXPBDH000 @Z) 1>CApp.obj : 错误 LNK2001: 无法解析的外部符号“public: virtual void __thiscall wxAppConsole::OnAssert(char const *,int,char const *,char const *)” (?OnAssert@wxAppConsole@@UAEXPBDH00@Z) 1>D:\WickedLauncher\WickedLauncherv2\Debug\WickedLauncherv2.exe:致命错误 LNK1120:8 个未解决的外部

我将不胜感激!

问候。

【问题讨论】:

  • 看起来您正在使用 C++ 和 Visual Studio。那是对的吗?您是在进行调试还是发布构建?您是否检查过所有 wxWidgets 库是否匹配(调试或发布)?你是说如果你注释掉 IMPLEMENT_APP(App);您的应用链接成功了吗?

标签: user-interface frameworks wxwidgets


【解决方案1】:

g_isPainting 是在哪里定义的?

您是否将正确的库添加到 wxAppConsole 的链接器?

【讨论】:

  • 我没有定义 g_isPainting 所以它必须在 wxWidgets 中。 “将正确的库添加到链接器”到底是什么意思。我按照文档的说明配置了所有内容。我已经编译了运行良好的东西。
猜你喜欢
  • 2022-01-06
  • 2011-03-01
  • 1970-01-01
  • 2011-03-13
  • 2016-06-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多