构建后如何处理wxWidgets

时间:2018-07-26 02:20:19

标签: c++ windows gcc wxwidgets

我目前正在尝试将UI添加到我已经完成的程序中。因此,我已经在互联网上搜索了大约2个小时,但是在使用MinGW构建wxWidgets之后仍然不知道如何使用它。

我尝试对gcc编译器使用-I参数,这样我就可以包括我显然构建的内容,并且可以编译程序,但是我似乎无法打开.exe文件,因为它表示不兼容。使用我当前的Windows操作系统。

我觉得我在这里想念什么。我已经在GitHub上阅读了说明,但是所有这些都停留在如何在MinGW上构建WxWidgets上,并且在构建后没有任何地方解释如何使用它。

编辑: @ DavidC.Rankin尝试了这种方式,甚至尝试使用以下make文件:

C:\wxWidgets-3.1.1\samples\minimal>mingw32-make -f makefile.gcc

但是现在它给了我这样的错误:

c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/ld.exe: cannot find -lwxmsw31ud_core
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/ld.exe: cannot find -lwxbase31ud
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/ld.exe: cannot find -lwxtiffd
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/ld.exe: cannot find -lwxjpegd
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/ld.exe: cannot find -lwxpngd
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/ld.exe: cannot find -lwxexpatd
collect2.exe: error: ld returned 1 exit status
makefile.gcc:221: recipe for target 'gcc_mswud\minimal.exe' failed
mingw32-make: *** [gcc_mswud\minimal.exe] Error 1

似乎是链接器无法正常工作。但是我不知道为什么。

EDIT2:用于记录。这是我用来构建wxWidgets的命令。

C:\wxWidgets-3.1.1\build\msw>mingw32-make -f makefile.gcc CFG=32 CPPFLAGS="-DHAVE_TR1_TYPE_TRAITS" CXXFLAGS="-Wno-deprecated-declarations -Wno-unused-local-typedefs -fno-keep-inline-dllexport" MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=release`

3 个答案:

答案 0 :(得分:0)

安装说明描述了使用wxWidgets构建应用程序所需执行的操作,请参见last section

答案 1 :(得分:0)

您应该使用wx-config的输出。

  • wx-config --cxxflags将提供包含目录的列表
  • wx-config --libs "all"将提供一个列表库。

如果使用的是GNU make,则可以设置变量以保存它们。

# wxWidgets
WXCXX      := $(shell wx-config --cxx)
WXCXXFLAGS := $(shell wx-config --cxxflags)

# ld has -o option, be careful
WXLD      := $(shell wx-config --ld)
WXLDLIBS  := $(shell wx-config --libs all)

.cpp.o:
    $(WXCXX) $(CXXFLAGS) $(WXCXXFLAGS) -o $@ -c $<

$(PROGRAM): $(OBJECTS)
    $(WXLD) $@ $(OBJECTS) $(WXLDLIBS) $(LDLIBS)

答案 2 :(得分:0)

基本上,您需要做的是将wxWidgets GUI代码添加到程序中。

然后,在完成该操作后,发出exactly,该命令与您用来构建软件的wxWidgets所使用的命令相同。您还需要检查VZ(Vadim)指向您的链接,因为它包含重要的信息。

如果在构建/链接阶段出现错误-请提供完整的错误消息。