windows系统+codeblocks+VC6编译器下配置wxWidgets的wxUniversal环境

本文记录了如何在Windows系统中,使用CodeBlocks和VC6编译器配置wxWidgets的wxUniversal环境。通过设置编译选项和链接库,实现了动态和静态链接的debug及release版本的编译,并解决了wxWidgets控件颜色不可修改的问题,成功应用到wxGauge组件上。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        想要用wxUniversal本来是因为想弄个可以改变颜色的进度条wxGauge,用了SetBackgroundColour(),放进代码中一用,咦,颜色没改变,clean后再编译,还是没变。后来明白这是wxWidgets默认用了native控件,改不了,这就和java用了windowsLookAndFeel后没法改进度条颜色一样。后来了解到wxUniversal下各个控件的颜色外观可以自己控制,于是想用wxUniversal,无奈网上有关资料太少,今天终于配置完,赶紧记下来备忘。

        编译:

动态链接,debug版

nmake -f makefile.vc CPPFLAGS=/Os LDFLAGS="/MANIFEST:NO /OPT:REF /OPT:ICF" BUILD=debug WXUNIV=1 SHARED=1 UNICODE=1 MONOLITHIC=0 USE_RTTI=0

动态链接,release版

nmake -f makefile.vc CPPFLAGS=/Os LDFLAGS="/MANIFEST:NO /OPT:REF /OPT:ICF" BUILD=release WXUNIV=1 DEBUG_INFO=0 SHARED=1 UNICODE=1 MONOLITHIC=0 USE_RTTI=0

静态,release版

nmake -f makefile.vc CPPFLAGS=/Os LDFLAGS="/MANIFEST:NO /OPT:REF /OPT:ICF" BUILD=release WXUNIV=1 DEBUG_INFO=0 SHARED=0 UNICODE=1 USE_RTTI=0

静态 ,debug版

nmake -f makefile.vc CPPFLAGS=/Os LDFLAGS="/MANIFEST:NO /OPT:REF /OPT:ICF" BUILD=debug WXUNIV=1 SHARED=0 UNICODE=1 USE_RTTI=0

最好注意编译是否有失败的地方,如果有,回头重新编译一下

在codeblocks下右键点击工程,compiler flags 勾选/Zi,/MDd

在右侧的other options,添加

/TP
/EHsc
/Fo"Debug\\"
/nologo
/c
/errorReport:prompt

在#defines,添加

"__WXDEBUG__"
"WIN32"
"_DEBUG"
"__WXMSW__"
"__WXUNIVERSAL__"
"_WINDOWS"
"NOPCH"
"_UNICODE"
"UNICODE"
在linker settings 中,debug版本需要的库如下

msvcprtd.lib

msvcrtd.lib

wxmswuniv29ud_core.lib

wxbase29ud.lib

wxpngd.lib

wxzlibd.lib

右侧的other linker settings添加

/NODEFAULTLIB:libcpmtd.lib
/NODEFAULTLIB:libcmtd.lib
/NODEFAULTLIB:msvcrt.lib

在search directories中

compiler:C:\wxWidgets-2.9.4\lib\vc_dll\mswunivud

linker:C:\wxWidgets-2.9.4\lib\vc_dll

resource compiler:C:\wxWidgets-2.9.4\lib\vc_dll\mswunivud

到现在为止wxUniversal环境以及配置好了,在自己的进度条后面加上

m_gauge->SetBackgroundColour(*wxBLUE);
m_gauge->SetValue(50);

果然颜色变了!

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值