wxWidgets+CodeBlocks Win平台搭建(献给新手)
wxwidgets吧
全部回复
仅看楼主
level 7
combo119 楼主
本人自学wxWidgets两年多了,自知入坑的痛苦和出坑的困难,所以特意整理出此新手教程,帮助初学者少走搭建平台的弯路,能早日在wxWidgets的海洋中书写自己的代码。
准备工作:
Win8.1专业版64位
wxMSW-3.0.1-Setup.exe
codeblocks-16.01-setup.exe
tdm-gcc-4.8.1-3.exe
说明:
操作系统应该是没什么影响的,win7、win8,x86、x64应该都是可以的。
codeblocks的版本关系也不大,只是新的版本肯定功能更多,支持的东西也多些。
TDM-GCC的选择那就是见仁见智了,我选择它的原因就只有两个字“便捷”。
TDM-GCC和wxWidgets的版本的配搭是有讲究的,具体看wxWidgets官网的下载页面就知道了。
wxWidgets一个月前已经出到3.1.0了,不过太新的话配套的东西和相关的资料都会很少,所以新手的话还是选相对成熟一点的产品吧。
至于为什么不选wxWidgets3.0.2,那是因为它的BUG还是有点多啊。
2016年04月07日 16点04分 1
level 7
combo119 楼主
步骤一:设置MinGW环境
执行“tdm-gcc-4.8.1-3.exe”安装包,一切按默认完成安装的话,它会被安装到“C:\TDM-GCC-32”。
此时我们运行cmd,执行“mingw32-make”语句出现下图提示的话就说明MinGW环境已经设置好了。
没错,就是这么简单,这是因为tdm-gcc在安装选项中已经默认勾选了添加环境变量,所以安装好后我们就可以直接拿来用了。
这也就是我选择和推荐tdm-gcc的原因。
2016年04月09日 06点04分 2
tdm-gcc-4.8.1-3.exe这个我怎么只看到tdm-gcc-4.8.1-2.exe,没看到tdm-gcc-4.8.1-3.exe呀,你的在哪下的呀?
2017年01月21日 03点01分
差一个修正号的版本一样用的。https_sourceforge.net/projects/tdm-gcc/files/TDM-GCC%20Installer/Previous/1.1309.0/
2017年01月21日 06点01分
level 7
combo119 楼主
步骤二:编译wxWidgets
执行“wxMSW-3.0.1-Setup.exe”安装包,一切按默认完成安装的话,它会被安装到“C:\wxWidgets-3.0.1”。
编辑“C:/wxWidgets-3.0.1/build/msw/config.gcc”
确定上面4个重要选项是对应的值,其它的不用管了。
下面来具体说说这4个值的内容:
SHARED:如果不想发布的EXE还要带上一个DLL的话,就将它狠狠地设为0吧。
UNICODE:现在的软件已经是UNICODE一统天下的局面了,这没什么好说的了。
release:关于release和debug大家都懂,至于这里为什么要用release。那是因为对新手而言,先接触的一般都是sample和demo,那就和debug暂时扯不上关系了,所以先让软件和文件简单一点吧。
MONOLITHIC:下面会有图文说明这一点,往下看就知道了。
执行编译命令
执行编译命令的时候可以去干点其它事情了,因为要等好久好久才能完成,大概有半个小时吧。
生成的库文件在 C:/wxWidgets-3.0.1/lib/gcc_lib,如下图左
右边是我修改参数后重新生成的库文件,此时我们回过头来理解一下 MONOLITHIC 参数的意义应该就会一目了然了。
这个参数的意义就是在执行文件的大小和附加库文件的便利性之间做一个取舍。
如果你知道自己创建的工程具体用到哪些库文件,那么你只引入那些用到的库,你发布的exe大小必定会小一些。但如果你分不清或者不想分清的话,那将MONOLITHIC设为1就会帮你省去很多工作。
2016年04月09日 06点04分 3
提醒一下下后来的朋友,这步请跳到11楼看看[狂汗]
2017年02月01日 13点02分
level 7
combo119 楼主
步骤三:建立一个Sample项目来测试
经过前面两个步骤,前期的准备工作都做好了,此时我们可以通过CodeBlocks来建立自己的项目了。
上半部分是可以选择两个比较出名的布局GUI,通过可视化操作来布局我们的界面,但引入它们无疑会加大我们的学习量,所以暂时选择None吧。
下半部分是选择我们的应用程序时基于对话框还是框架的。
这里设置的是项目使用的全局变量,第一次运行的话肯定是没有设置过这个变量的,我们直接点击“Next”就会弹出编辑页面了,如下图:
这里要设置的其实就是打两个钩钩。
通常来说是两个都勾选上的,这样我们可以随时生成Debug或者Release版本。但因为我们前期准备工作只生成了Release的库文件,所以我们只能单选它了。
上半部分勾选的是要和我们先前编译的参数一致的,看名字应该可以看出要勾选什么了。
下半部分是一些比较“高级”的选项,暂时不勾选吧。
当我们点击下一步的时候我们的项目就建好了,此时我们按F9,编译并运行,如果我们能看到下面的界面时,那么恭喜你,你的第一个wxWidgets应用程序已经诞生了。
2016年04月09日 07点04分 4
太棒了![酷]!我总算搞明白wx的运行机制了,从来都没有搞通过
2018年01月03日 05点01分
wx搭环境每次都不成功,各种稀奇古怪的错误,只能放弃,可能是我太笨了,现在已经用Qt了,感觉好方便啊
2018年02月10日 01点02分
level 7
combo119 楼主
全文完~
题外话:一发帖就被系统删除了,经过申述过了两天帖子回来了,然后补完2、3、4楼,教程也算是写完了,结果发现在我发布4楼的时候,2楼被删除了,真是无力吐槽了~~~
2016年04月09日 08点04分 5
是3楼,我的步骤二才对~
2016年04月09日 08点04分
level 9
楼主,你没贴静态编译后的工程配置说明啊!!!
我一直卡在这,一编译就提示50个错误。。。
2016年04月10日 05点04分 6
@combo119 试了无数次了,还是不行!还是改回动态链接模式了。。。用的cb是16.01版本的,wx是3.1.0版本的。
2016年04月14日 02点04分
这些工作codeblocks自动帮我们完成的,你按照步骤三走一遍,再看看工程属性,里面已经添加好了静态库的。
2016年04月10日 09点04分
@qoomd cb16现在只支持3.0的自动配置,你用3.1的就要手动修改一下部分配置了。动态的还好,静态的要加上libshlwapi.a,libversion.a两个库。如果你是新手的话我建议你用我上面说的版本吧,用来学习的话可不是越新越好的。
2016年04月14日 02点04分
@combo119 嗯,打算换成你推荐的组合。。。
2016年04月14日 03点04分
level 3
花了一天时间搭建vs2013+wxWidgets,后来发现学习资料好少,找到了本cross platform wxWidgets什么书,发现学习曲线太陡,现在快撑不下去了。
不知道楼主学的怎么样,有经验可以分享下吗?
2016年04月10日 08点04分 7
那本可以说是唯一的最好的入门的中文资料了,我也是看那本书过来的。建议你平时可以做一些小工具来帮助学习的工作,如果一开始就想着做一些大项目那肯定会因为处处碰壁而走不下去的。我现在桌面上就有几款自个开发自个用的实用工具。
2016年04月10日 09点04分
level 1
楼主,我用5.1.0的gcc编译wx 3.0.2版本
出现如下提示
This file requires compiler and library support for the ISO C++ 2011 standard
2016年06月26日 16点06分 8
3.0.2对应的版本是4.7和4.8,3.1.0对应的版本是4.9和5.1,这在官方下载页面有写的。
2016年06月27日 14点06分
@combo119 好吧,意思是说不能用新版的编译是吗
2016年06月27日 14点06分
越新的gcc版本对c++11的支持和依赖就越大,通常这样不对应版本的编译就算不出问题也会出现很多错误提示的。并不是说这样搭配不行,但是如果不按官方的建议来操作,一般出了问题多数情况只能自己去解决。
2016年06月28日 01点06分
@combo119 知道了,谢谢指导!
2016年06月28日 01点06分
level 1
新建工程的时候出现这个问题
2016年06月28日 03点06分 9
首先wx编译完成后你看看在“gcc_lib”文件夹里是否有对应的库文件“libwxmsw30u.a”,其次是否正确配置了“$(#wx)”路径,最后在几个settings的页面看看勾选的是否对应得上。上面的图贴的都很详细的了,你认真比对一下,任一步骤对应不上都不要盲目地下一步。
2016年06月28日 07点06分
@combo119 没有libwxmsw30u.a这个文件,而且我看你的图上也是没有这个文件的
2016年06月28日 11点06分
level 1
2016年06月28日 11点06分 10
你这个是设置 MONOLITHIC=0 时生成的库,设为1时生成库的话就有“libwxmsw30u.a”了,详见步骤二图三。 上面步骤二我是建议设置 MONOLITHIC=1 的,但是图一应该是我当时弄错了。
2016年06月28日 12点06分
@combo119 哦哦哦,我再试试
2016年06月28日 12点06分
level 7
combo119 楼主
步骤二的图一弄错了,应该设置 MONOLITHIC=1,如下图:
可以把已经生成好的库改个名字或者加个后缀以留备用
2016年06月28日 12点06分 11
第四个错了,要不要重新花30分钟生成?
2024年02月14日 08点02分
level 2
#error This file requires compiler and library support for the \
ISO C++ 2011 standard. This support is currently experimental, and must be \
enabled with the -std=c++11 or -std=gnu++11 compiler options.
我在codeblocks 编译的时候出现这个错误,请问一楼如何解决?
另外我想重新编译wxwidgets, 直接运行mingw32-make -f makefile.gcc不起作用了,请问如何重新编译?
2016年07月06日 10点07分 12
详见13楼。
2016年07月06日 15点07分
level 1
4.8.1-3是在哪里下载的,我只能下载到在线安装版,总是被升级为5.1版本了
2016年08月19日 08点08分 14
level 13
请问16.01能不能用wxdigets的3.10版本,向导中似乎没有3.10的选项啊?
2016年09月17日 17点09分 15
16.01是2016.01的产物,而3.1.0是2016.02的产物,所以向导中自然没有集成到3.1.0的配置。 但是可以通过生成3.0.2的工程然后手动修改部分配置去实现的,一般也就将库文件名修改一下就可以了。
2016年09月18日 00点09分
level 1
3.0.1找不到 谁有链接?官网 只有3.0.2 的
2016年10月29日 03点10分 16
http_s:_//_github.com/wxWidgets/wxWidgets/tags
2016年10月29日 09点10分
1 2 3 尾页