我甚至无法使用a编译wxWidgets样本

时间:2011-06-16 21:06:30

标签: c++ wxwidgets

所以我一直试图让wxWidgets的该死的样本与Mingw一起编译,我确实喜欢mingw32-make -f makefile.gcc,我得到以下错误。

我没有安装MSYS,而且我有最新版本的Mingw

g++ -c -o gcc_mswud\minimal_minimal.o -g -O0 -mthreads  -DHAVE_W32API_H -D__WXMS
W__       -D_UNICODE  -I.\..\..\lib\gcc_lib\mswud -I.\..\..\include  -W -Wall -I
.  -I.\..\..\samples -DNOPCH   -Wno-ctor-dtor-privacy   -MTgcc_mswud\minimal_min
imal.o -MFgcc_mswud\minimal_minimal.o.d -MD -MP minimal.cpp
In file included from .\..\..\include/wx/defs.h:26:0,
                 from .\..\..\include/wx/wxprec.h:13,
                 from minimal.cpp:21:
.\..\..\include/wx/platform.h:256:22: fatal error: wx/setup.h: No such file or d
irectory
compilation terminated.
mingw32-make: *** [gcc_mswud\minimal_minimal.o] Error 1'

非常感谢任何建议

另外我应该如何编译我自己的涉及wxWidgets的项目,我需要在mingw中链接wxWidgets?

1 个答案:

答案 0 :(得分:1)

wx / setup.h是在编译过程中创建的文件;对于每种不同的构建类型(Unicode,ANSI,Debug或Release等),此文件将有所不同。很可能你为一种构建类型编译了wxWidgets,并且正在尝试为不同的构建类型编译样本。

对于include / linker路径,我发现下面的设置是在Windows上自己的项目中使用wxWidgets所需的最低限度:

包含路径

  • $(WXWIN)\包括
  • $(WXWIN)\ lib \ vc_lib \ mswud(u = Unicode和d = debug,这会根据您想要的构建类型而改变)

预处理器定义

  • WIN32
  • _DEBUG(仅当您要使用调试信息构建时)
  • _WINDOWS

字符集

  • “使用Unicode字符集”(对于Unicode构建非常重要;否则会出现编译器错误)

其他图书馆馆藏

  • $(WXWIN)\ lib中\ vc_lib

其他依赖性

  • WINMM.LIB
  • comctl32.lib
  • rpcrt4.lib
  • wsock32.lib
  • odbc32.lib
  • wxmsw28ud_core.lib
  • wxbase28ud.lib
  • wxexpatd.lib
  • wxjpegd.lib
  • wxpngd.lib
  • wxregexud.lib
  • wxtiffd.lib
  • wxzlibd.lib
  • wxmsw28ud_adv.lib
  • wxmsw28ud_aui.lib
  • wxmsw28ud_html.lib

wxWidgets库后缀为“u”表示Unicode,“d”表示调试,需要选择与所需构建类型匹配的库。 $(WXWIN)是您构建wxWidgets的目录(wxPack将创建此环境变量供您使用)。