1.使用MinGW的g++ 4.4.0 http://www.mingw.org/
-- 也可以用vs编译,有vs项目文件.这个没试过.
2.wxWidgets跨平台界面库的官网: http://www.wxwidgets.org/
-- wxWidgets也能在Mac OS X下使用,使用和windows同样的界面编程模型,基本上不需要修改就可以直接用。
-- 有在工作上用wxWidgets开发的童鞋可以交流下。^-^
-- 不依赖某个IDE,甚至可以用记事本就可以开发和调试。
Win32:
configure CC="gcc -m32" CXX="g++ -m32" --enable-shared --disable-static --disable-gtktest --disable-gtktest --disable-sdltest --disable-detect_sm --disable-commandlinkbutton --disable-gstreamer8 --disable-mshtmlhelp --disable-compat26 --disable-debug_gdb --disable-debug_info --disable-debug_flag --disable-debug --disable-gpe --disable-gtk2 --enable-plugins --enable-unicode
Mac OS X:在10.7下的xcode还有10.6的SDK,10.8之后的xcode都没有10.6的sdk了。
sh configure CC="gcc -m32" CXX="g++ -m32" --enable-plugins --with-osx_carbon --enable-shared --disable-static --disable-gtktest --disable-gtktest --disable-sdltest \ --disable-detect_sm --disable-commandlinkbutton --disable-gstreamer8 --disable-mshtmlhelp --disable-compat26 \ --enable-macosx_arch=i386 --disable-debug_gdb --disable-debug_info --disable-debug_flag --disable-debug --disable-gpe \ --without-gtk --disable-gtk2 --with-macosx-sdk=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk \ --with-macosx-version-min=10.6
Win32 Debug: 有时候需要跟踪调试wxWidgets里的调用过程,比如在莫名的程序崩溃时.
sh configure CC="gcc -m32" CXX="g++ -m32" --enable-shared --enable-debug --disable-static --enable-plugins --enable-unicode
3.wxbase292u_gcc_custom.dll(基础)和wxmsw292u_core_gcc_custom.dll(界面)都是必须的,其实还可以编译更小点,默认启用了所有特性和控件,可以根据需要disable某些特性,其他dll根据需要添加进去就行。
4.编译完执行wx-config --libs默认的配置项:
-L/c/E/software/Lib/gui/wxWidgets-2.9.2/src/lib -Wl,--subsystem,windows -mwindows -lwx_mswu_xrc-2.9 -lwx_mswu_html-2.9 -lwx_mswu_qa-2.9 -lwx_mswu_adv-2.9 -lwx_mswu_core-2.9 -lwx_baseu_xml-2.9 -lwx_baseu_net-2.9 -lwx_baseu-2.9
-I/c/E/software/Lib/gui/wxWidgets-2.9.2/src/lib/wx/include/msw-unicode-2.9 -I/c/E/software/Lib/gui/wxWidgets-2.9.2/src/include -D_LARGEFILE_SOURCE=unknown -DwxDEBUG_LEVEL=0 -DWXUSINGDLL -D__WXMSW__ -mthreads
5.最后说一下,wx作为快速开发的界面编程库还是挺好的,还有一堆例子。
6.顺便说一下,我们用的是eclipse CDT来编写代码,虽然没有所见即所得的界面窗口,但是不影响。麻烦就是调整界面时需要不断编译运行,可以自己写个xml配置文件来定位控件,wx有自带的xrc,可以参考千千静听。