Chinaunix首页 | 论坛 | 博客
  • 博客访问: 156073
  • 博文数量: 24
  • 博客积分: 59
  • 博客等级: 大尉
  • 技术积分: 192
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-20 13:10
文章分类

全部博文(24)

文章存档

2012年(1)

2011年(2)

2009年(19)

2008年(2)

我的朋友

分类: C/C++

2012-09-24 16:45:51

主要讲讲wxwidgets程序静态编译的问题

编译方法如下:

3.1.1 编译 UNICODE + DEBUG + 静态链接库

  • step1 :打开开始菜单:所有程序->附件->记事本程序。用它打开 wxWidgets安装目录下,子目录“build\msw\”下面的“config.gcc”文件。
  • step2 :找到以下内容,并确保将等号(:=)后面的内容修改如下所示。可能有部分选项不用修改就已经是下面列出的值了。另外其它未指部分的内容,请保持不变。

# What type of library to build? [0,1]

SHARED := 0

# Compile Unicode build of wxWidgets? [0,1]

UNICODE := 1

# Type of compiled binaries [debug,release]

BUILD := debug

 

字如其意,SHARED 0表示要编译的是静态库,而不是动态库(共享库);UNICODE1,表示要编译成UNICODE版本,这一项在本次编译过程中始终为1BUILDdebug,表示要编译成含有调试信息的版本。

有一位巧媳妇煮汤,拿勺捎了点试一口,不够咸,于是加盐,再试,仍不够,再加,再试,还不够;又加,又试,又不够……在修改完成后,请记得保存所修改的文件再进行以下步骤操作。

  • step 3: 打开开始菜单,选择运行,输入cmd,进入控制台窗口,然后在其内通过cd命令,切换到wxWidgets安装目录下的“build\msw” 路径。比如您把wxWidgets安装在“E:\wxWidgets-2.8.8”,则过程如下,其中(回车)表示让您输入回车键:

E: (回车)

cd wxWidgets-2.8.8 (回车)

cd build\msw (回车)

  • step 4:在第3步的控制台中,继续输入以下命令:

mingw32-make.exe -f makefile.gcc (回车)

敲完回车键后,正确情况下,控制台窗口内就一阵狂忙,在我的机器上,大致忙了25分钟。

完 成之后,用文件管理器打开wxWidgets安装目录下的“lib\gcc_lib”子目录,可以看到产生一堆新文件,有许多“*ud.a”的文件, 或"*28ud_*.a"。其中u表示unicode,而d表示debug。当然,也有一些文件是不带u字的,那是因为有些库没有涉及到字符串的国际化处 理,所以不需要考虑编码。

3.1.2 编译 UNICODE + RELEASE + 静态链接库

和前一小节类似,唯config.gcc需要修改如下:

# What type of library to build? [0,1]

SHARED := 0

# Compile Unicode build of wxWidgets? [0,1]

UNICODE := 1

# Type of compiled binaries [debug,release]

BUILD := release

编译完成后,进入wxWidgets安装目录下的“lib\gcc_lib”子目录,可以看到又产生了一堆新文件,请大家自行对比它们经前一步所产生文件名的区别。

到这一步,静态版编译完成。在“lib\gcc_lib”子目录下生成以下成果文件:

libwxbase28u.alibwxbase28ud.a libwxbase28ud_net.a libwxbase28ud_xml.alibwxbase28u_net.a libwxbase28u_xml.a libwxexpat.alibwxexpatd.a libwX JPeg.a libwX JPegd.alibwxmsw28ud_adv.a libwxmsw28ud_aui.a libwxmsw28ud_core.alibwxmsw28ud_html.a libwxmsw28ud_media.a libwxmsw28ud_richtext.alibwxmsw28ud_xrc.a libwxmsw28u_adv.a libwxmsw28u_aui.alibwxmsw28u_core.a libwxmsw28u_html.a libwxmsw28u_media.alibwxmsw28u_richtext.a libwxmsw28u_xrc.a libwxpng.alibwxpngd.a libwxregexu.a libwxregexud.alibwxtiff.a libwxtiffd.a libwxzlib.alibwxzlibd.a


注意是如果你要编译的是wxWigets静态链接程序时不要选Use wxWigets DLL及wxWigets is build as a monolithic library
编译时会出错,提示jpg,ttf之类的
在Project下的bulid option 中Linker settings添加libwX JPeg.a及libwxtiff.a即可编译
阅读(2412) | 评论(0) | 转发(0) |
0

上一篇:EAS固定资产-系统流程概要

下一篇:没有了

给主人留下些什么吧!~~