VC6 编译并且使用wxWidgets - 我们用命令行方式build - 入门篇 一

 

VC6 编译并且使用wxWidgets - 我们用命令行方式build

 

今天又和大牛聊了一会,他推荐了一个跨平台的lib。

跨平台并没有什么,我只是想找一套自己喜欢的UI lib。 听说Totual

就是因为wxWidgets比MFC优雅才使用wxWidgets。WTL也接触过,过去的工作

很少写UI, 因此这次有机会提高一下对UI的理解。

 

wxWidget 下载 2.9.0 (http://www.wxwidgets.org/downloads/)

 

我仅仅是研究使用,你可以选择稳定的版本

 

下载加压到 G:/devCenter/wxWidgets (G是我的工作盘符,你可以设置你自己的盘符)

进入G:/devCenter/wxWidgets/build/msw 目录

这个目录就是cmd方式build wxWidgets 一系列makefile, 不同的编译器有不同的后缀,也同时对应着一个

config文件, 

 

VC6  就是用这个

 

makefile.vc 和 config.vc

 

用文本编辑器打开 config.vc 文件。这是关于如何编译

 

wxWidgets 的设置。这里解释一些重要的选项。

 

SHARE:  编译产生的 wxWidgets 库是静态库还是动态库(建议采用动态库 ,发布的时候exe小些,昨天晚上build一个小程序居然6M)

UNICODE:  是否支持 unicode utf-8

BUILD:    编译产生的库是用于调试的还是最终发行的

 

UNICODE、BUILD 选项可产生四种组合,产生四套不同的库,若再和SHARE 组合则可产生八套不同的库。

 

MONOLITHIC: 是否只产生一个单一的库文件

USE_GUI: 是否编译图形界面库

USE_HTML: 是否编译 HTML 库

USE_XRC: 是否编译 XRC 库

USE_OPENGL: 是否编译 OPENGL 库

USE_ODBC: 是否编译 ODBC 库

USE_QA: 是否编译 QA 库

RUNTIME_LIBS:   使用动态还是静态的 C++ 运行库,对应VC编译器的 /MD 和 /MT 参数

 

 

除了 UNICODE 和 BUILD 选项之外,其它选项如下:

 

SHARE = 0

MONOLITHIC = 0

USE_GUI = 1

USE_HTML = 1

USE_XRC = 1

USE_OPENGL = 1

USE_ODBC = 1

USE_QA = 1

RUNTIME_LIBS = static

 

例如: 

nmake -f makefile.vc UNICODE=support (0 or 1) BUILD=style(debug or release)

 

可以这样: 

nmake -f makefile.vc SHARED=1 UNICODE=1 BUILD=release

 

编译产生的临时文件分别在 msw mswd mswu mswud

四个子目录中,这些是为了在调整设置后重新编译时节约时间的,若不想重新编译可以把它们删掉。

而最终产生的lib 文件已经被拷贝到了 G:/devCenter/wxWidgets/lib/vc_lib下。

其中每套库还有一个配置文件,分别在 G:/devCenter/wxWidgets/lib/vc_lib下的 msw mswd mswu mswud

四个目录中,这些配置文件里包含许多可以调整的预编译选项,具体可以参考相关文档。

 

开始操作:

 

我们并不打算生成8种不同的lib,这里我们选用

 windows XP(SP3) + vc6(sp6) + Debug   + Unicode  + SHARE = 1 //Debug方式支持unicode 动态库

 windows XP(SP3) + vc6(sp6) + Release + Unicode  + SHARE = 1

 windows XP(SP3) + vc6(sp6) + Debug   + SHARE = 1 //Debug 不支持unicode 动态库

 windows XP(SP3) + vc6(sp6) + Debug   + SHARE = 1

 

具体请看 config.vc

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

SHARED  = 1

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

UNICODE = 1 / 0

3. # Type of compiled binaries [debug,release]

BUILD = release / debug

 

开始编译:

 方式1. 修改config.vc   之后执行: nmake -f makefile.vc

 方式2. 使用命令覆盖 - 这个方便,你粘帖一下就好了,我可是的写出来,哈哈,go

 

nmake -f makefile.vc SHARED=1 UNICODE=0 BUILD=debug

nmake -f makefile.vc SHARED=1 UNICODE=0 BUILD=release  非UNICODE 现在已经强烈不支持了,兄弟还是用Unicode吧,哈哈

nmake -f makefile.vc SHARED=1 UNICODE=1 BUILD=debug

nmake -f makefile.vc SHARED=1 UNICODE=1 BUILD=release

 

 run->cmd->cd G:/devCenter/wxWidgets/build/msw ->G: ->VCVARS32.BAT(vc6环境设定,装了vc都有这个文件) 输入上面的命令,等待吧

 build完一个后,别着急,先建立一个目录: G:/devCenter/wxWidgets/lib/vc_dll/Debug copy 

 所有的生成(G:/devCenter/wxWidgets/lib/ 是默认生成路径)文件到这个目录下

 

顺便建立目录 G:/devCenter/wxWidgets/lib/vc_dll/ReleaseU G:/devCenter/wxWidgets/lib/vc_dll/DebugU  G:/devCenter/wxWidgets/lib/vc_dll/Release

 

到此为止,wxWidgets库已经编译好了。 明天在写,怎么设置工作路径可以更好的工作,这个地方还是有待改进,文件不copy好乱

 

你可能感兴趣的:(windows,工作,Build,makefile,编译器,跨平台)