【发布时间】:2020-10-17 18:29:08
【问题描述】:
这很令人沮丧,最常见的答案是“做 CodeBlocks 所做的事情”。我不在乎。我想了解。
问题是:wxWidgets,当非整体构建时,被分成几个静态库。这些必须根据它们的依赖关系以正确的顺序链接,否则静态链接将失败。
这些库是(它们的文件名是缩写的,但为了简单起见,我使用它们的全名):
wxAdvanced
wxAui
wxBase
wxCore
wxGL
wxHTML
wxMedia
wxNet
wxPropertyGrid
wxQA
wxRibbon
wxRichText
wxSTC
wxWebView
wxXML
wxXRC
什么是魔术顺序,我们可以在哪里查找它 - 最重要的是:它是如何计入我项目的 CMakeLists.txt 的?
一些有代表性的错误消息如下所示 - 也许它们会让这个问答更容易通过网络搜索发现:
C:/wxwidgets-install_3.1.3_9/lib/gcc_x64_lib/wxmsw31ud_aui.a(floatpane.cpp.obj):floatpane.cpp:(.rdata$.refptr._ZN11wxMiniFrame12ms_classInfoE[.refptr._ZN11wxMiniFrame12ms_classInfoE]+0x0): undefined reference to `wxMiniFrame::ms_classInfo'
C:/wxwidgets-install_3.1.3_9/lib/gcc_x64_lib/wxmsw31ud_core.a(window.cpp.obj):window.cpp:(.rdata$.refptr.wxEVT_POWER_RESUME[.refptr.wxEVT_POWER_RESUME]+0x0): undefined reference to `wxEVT_POWER_RESUME'
src/CMakeFiles/wxmaxima.dir/Unity/unity_10.cxx.obj: In function `XmlInspector::XmlInspector(wxWindow*, int)':
C:/projects/wxMaxima/src/XmlInspector.cpp:42: undefined reference to `wxRichTextCtrl::wxRichTextCtrl(wxWindow*, int, wxString const&, wxPoint const&, wxSize const&, long, wxValidator const&, wxString const&)'
【问题讨论】:
标签: mingw wxwidgets static-linking