CodeBlock 20.03 + wxWidgets 3.1.5

一、CodeBlocks 20.03

1.去CodeBlocks官网下载 codeblocks-20.03mingw-nosetup.zip

2.解压到c:\codeblocks2003

3. Add C:\codeblocks2003\MinGW\bin\ 到系统的Path变量。l

二、.wxWidgets 3.1.5

1.如果不需要静态链接wxWdigets库,可以直接去wxWidgets官网下载wxWidgets-3.1.5-headers.7z 与 wxMSW-3.1.5_gcc810_x64_Dev.7z 这2个文件。

2.把wxWidgets-3.1.4-headers.7z 解压到C:\Data\wxWidgets目录里。

注意:解压后的目录结构为C:\Data\wxWidgets\include

3.把wxMSW-3.1.4_gcc810_x64_Dev.7z解压到C:\Data\wxWidgets目录里并把目录lib\gcc810_x64_dll重命名为lib\gcc_dll

注意:解压后的目录结构为C:\Data\wxWidgets\lib\gcc_dll

wxWidgets的设置

1.菜单settings->Global Variables

2.单击按钮New

3.输入wx,确定

4.base,设为C:\Data\wxWidgets

建立wxWidgets工程

1.wxWidgets vision选wxWidgets 3.1.x

2.Preferred Gui Builder选 wxSmith

3.Application Type选 Frame Based

4.wxWidgets location 设为$(#wx)

5.wxWidgets Library Settings选 User wxWidgets DLL与Enable unicode

6. 勾选Create Empty Project和Configure Advanced Options

7. Debug Target和Release Target选GUI Mode Application

或者创建后在Project--Properties--Build targets上工程类型从Console application改为GUI application. 不然会在运行时出现控制台窗口。注:其实控制台界面可以用  标准输入输出  来调试函数,免去了用MessageBox的麻烦,发布可执行文件时再改为GUI Application。

Wxwidgets程序的静态链接

wxWidgets网站上下载的只有DLL库,需要自己编译静态库。

使用git 下载代码仓库,不然不会有第三方的库,比如expat, zlib等。不嫌麻烦也可以一个一个在wxWidgets的github网站上下载好再解压到对应的源码目录,例如https://github.com/wxWidgets/libexpat:

1.  编译Wxwidgets静态库

dos窗口下,进入wxWidgets编译目录build\msw, 执行如下命令

mingw32-make -f makefile.gcc BUILD=release SHARED=0 MONOLITHIC=0 UNICODE=1 2> err.log

mingw32-make -f makefile.gcc BUILD=debug SHARED=0 MONOLITHIC=0 UNICODE=1 2> err.log

2. 建立wxWidgets工程时,不要选择“Use wxWidgets DLL”

进入project->build options

a)选择Compiler settings,

在Other options中,删除-mthreads

b)选择Linker settings,

在Other linker options中,删除-mthreads,然后输入如下内容

--disable-mthreads -static-libstdc++  -static-libgcc
此时还需要MinGW64中的libwinpthread-1.dll,否则报无法正常启动(0xc000007b)

继续增加“ -Wl,-Bstatic -lstdc++ -lpthread -Wl,-Bdynamic” 注意 -lstdc++ 在 -lpthread 之前。

完整的Other linker options:

--disable-mthreads -static-libgcc -static-libstdc++ -Wl,-Bstatic -lstdc++ -lpthread -Wl,-Bdynamic

Release版本的wxWidgets Hello World例程.exe大小为6.6MB。

错误处理

fatal error: wx/setup.h: No such file or directory

查看gcc编译的命令行,看-I选项包含的头文件目录。 另外静态链接时,即使时Debug版本还是搜索release版本的库目录里的gcc_lib\mswu\wx\setup.h 。u

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值