wxWidgets安装编译

1. 安装某个驱动器的根目录下,比如:D:\ wxWidgets-2.9.4 目录

 

2. 编译

D:\wxWidgets-2.9.4\build\msw\makefile.gcc中

文件开头加上SHELL=cmd.exe

============================================================

加上SHELL=cmd.exe原因:

编译wxWidgets是一件挺简单的事情,但是最近在编译的时候遇到一些问题。

错误信息类似于如下的结果:

if not exist ../../lib/gcc_lib/mswud/wx mkdir ../../lib/gcc_lib/mswud/wx

process_begin: CreateProcess(NULL, -c "if not exist ../../lib/gcc_lib/mswud/wx mkdir ../../lib/gcc_lib/mswud/wx", ...) failed.

make (e=2)

 

产生错误的原因是因为安装了MSYS后,利用Make命令会首先执行MSYS中的SHELL命令,从而会导致编译错误,对于这种情况,修改makefile.gcc文件,使其默认采用CMD命令行。

makefile.gcc修改前: SHELL := $(COMSPEC)

 

静态链接(调试版)============================================================

D:\wxWidgets-2.9.4\build\msw\config.gcc

SHARED ?= 0

UNICODE ?= 1

BUILD ?= debug

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

cmd:

D:

cd wxWidgets-2.9.4\build\msw

mingw32-make.exe -f makefile.gcc

或者

cmd:

D:

cd wxWidgets-2.9.4\build\msw

mingw32-make -f makefile.gcc SHARED=0 UNICODE=1 BUILD=debug

 

静态链接(发行版)============================================================

编译过程和前一版本主要差别在于“config.gcc”文件的修改内容:

SHARED ?= 0

UNICODE ?= 1

BUILD ?= release

其它操作方法不变。

或者

cmd:

D:

cd wxWidgets-2.9.4\build\msw

mingw32-make -f makefile.gcc SHARED=0 UNICODE=1 BUILD=release

 

动态链接(调试版)============================================================

编译过程和前一版本主要差别在于“config.gcc”文件的修改内容:

SHARED ?= 1

UNICODE ?= 1

BUILD ?= debug

其它操作方法不变。

或者

cmd:

D:

cd wxWidgets-2.9.4\build\msw

mingw32-make -f makefile.gcc SHARED=1 UNICODE=1 BUILD=debug

 

动态链接(发行版)============================================================

编译过程和前一版本主要差别在于“config.gcc”文件的修改内容:

SHARED ?= 1

UNICODE ?= 1

BUILD ?= release

其它操作方法不变。

或者

cmd:

D:

cd wxWidgets-2.9.4\build\msw

mingw32-make -f makefile.gcc SHARED=1 UNICODE=1 BUILD=release

 

为了确保尽量顺利地完成编译,在“config.gcc”仅选择了最基本的编译选项。因此一些强大wxWidgets功能模块没有被编译成库,比如前面提到的非Unicode版,另外没有支持OpenGL、OBDC等功能。后面需要时,我们将会加上,并且令大家放心的是,这并不会带来又一次wxWidgets漫长完全编译。

 

编译完成后,所有静态链接库位于wxWidgets安装目录下的“lib\gcc_lib”子目录。而动态链接库位于 “lib\gcc_dll”子目录。

 

仔细观察,会发现库文件名称中,有不少带有“ud”字母的文件,其中‘d’表示“debug”,即调试版本 ,不带‘d’的通常是“release”版本。‘u’表示“Unicode”,即支持Unicode编码。虽然我们这一次编译的全部采用“Unicode”选项,但还是存在一些文件并不带‘u’字母,那是因为这些库并不涉及到字符串的国际化处理,所以不需要考虑编码,比如与Jpeg图形功能有关的库。

 

在gcc_dll目录下,除了扩展名为“.dll”的动态链接库以外,还存在大量的扩展为“.a”的文件,称为“导入库/Import library”。

//mingw32-make -f makefile.gcc BUILD=release SHARED=1 USE_OPENGL=1 USE_ODBC=1

//mingw32-make -f makefile.gcc BUILD=debug SHARED=1 USE_OPENGL=1 USE_ODBC=1

转载于:https://www.cnblogs.com/cocochow/p/4312713.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值