我目前正在尝试将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`
答案 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)指向您的链接,因为它包含重要的信息。
如果在构建/链接阶段出现错误-请提供完整的错误消息。