用codeblocks编译wxSQLite3库

本文介绍如何从sf.net上下载wxsqlite3源代码,并针对wxWidgets 2.8.12版本进行编译配置。提供了使用CodeBlocks编译wxsqlite3的具体步骤,包括配置文件的修改与编译流程。

首先至sf.net上的wxcode工程去下载wxsqlite3的源代码,截止到笔者写这篇笔记,wxsqlite3的最新版本为3.0.2.
解压后,可看到目录结构如下:

drwx------+ 1 user group      0 Jan 25 13:04 build
drwx------+ 1 user group      0 Dec 22 16:50 build29
-rwx------+ 1 user group 253977 Nov 23 23:31 configure
-rwx------+ 1 user group 253977 Nov 23 23:31 configure28
-rwx------+ 1 user group 253443 Nov 23 23:31 configure29
drwx------+ 1 user group      0 Dec 22 16:50 dbadmin
drwx------+ 1 user group      0 Dec 22 16:51 docs
drwx------+ 1 user group      0 Dec 22 16:50 include
drwx------+ 1 user group      0 Jan 24 22:46 lib
-rwx------+ 1 user group   2550 Apr 12  2006 LICENCE.txt
-rwx------+ 1 user group  18297 Nov 23 23:33 Makefile.in
-rwx------+ 1 user group  18370 Nov 23 21:23 Makefile28.in
-rwx------+ 1 user group  18297 Nov 23 21:23 Makefile29.in
drwx------+ 1 user group      0 Dec 22 16:50 premake
-rwx------+ 1 user group   3500 Jan 19  2012 premake4.lua
-rwx------+ 1 user group  19363 Dec 22 16:45 Readme.txt
drwx------+ 1 user group      0 Jan 25 13:04 samples
drwx------+ 1 user group      0 Jan 25 12:21 sqlite3
drwx------+ 1 user group      0 Dec 22 16:50 src
drwx------+ 1 user group      0 Dec 22 16:50 website
-rwx------+ 1 user group    290 Dec 22 17:29 wxsqlite3.pc

由于笔者用的wxWidgets 2.8.12版,所以在build目录下可以找到各编译器的配置,官方直接提供有VS可用的编译配置。
这里笔者就尝试用codeblocks导入VS的工程:wxsqlite3_vc6_wxsqlite3.dsp
此时还需要修改一堆参数及路径,另一个办法是笔者这里采用的,详细如下:
拷贝一个在其他项目中用的LIB工程文件,cbp文件为XML格式,用文本工具NotePad++打开直接修改,也可以直接用笔者的工程文件,内容如下:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
	<FileVersion major="1" minor="6" />
	<Project>
		<Option title="wxsqlite3" />
		<Option pch_mode="2" />
		<Option compiler="gcc" />
		<Build>
			<Target title="unicode-lib-rel">
				<Option output="libwxsqlite3" prefix_auto="1" extension_auto="1" />
				<Option working_dir="" />
				<Option object_output="obj\" />
				<Option type="2" />
				<Option compiler="gcc" />
				<Option createDefFile="1" />
				<Compiler>
					<Add option="-O2" />
					<Add option="-Wall" />
					<Add option="-DWIN32" />
					<Add option="-D_LIB" />
					<Add option="-D_UNICODE" />
					<Add option="-D__WXMSW__" />
					<Add option="-DwxUSE_DYNAMIC_SQLITE3_LOAD=0" />
					<Add option="-DWXSQLITE3_HAVE_METADATA=0" />
					<Add option="-DWXSQLITE3_HAVE_CODEC=0" />
					<Add option="-DWXSQLITE3_HAVE_LOAD_EXTENSION=0" />
					<Add directory="$(wxWIN_PATH)\lib\gcc_lib\mswu" />
					<Add directory="$(wxWIN_PATH)\include" />
					<Add directory="$(wxWIN_PATH)\contrib\include" />
					<Add directory="..\include" />
					<Add directory="..\sqlite3\include" />
				</Compiler>
			</Target>
		</Build>
		<Unit filename="..\include\wx\wxsqlite3.h" />
		<Unit filename="..\include\wx\wxsqlite3def.h" />
		<Unit filename="..\include\wx\wxsqlite3dyn.h" />
		<Unit filename="..\include\wx\wxsqlite3opt.h" />
		<Unit filename="..\src\wxsqlite3.cpp" />
		<Extensions>
			<code_completion />
			<debugger />
		</Extensions>
	</Project>
</CodeBlocks_project_file>

编译并链接后,在cbp所在目录生成libwxsqlite3.a文件,此时就可以在CB中调用了。
当然若是不想用sqlite的dll,还需要用CB重编译sqlite3.


要在 Windows 系统下使用 Code::Blocks 编译 ICU(International Components for Unicode),需要完成一系列配置和操作。以下是详细的步骤: ### ### 下载 ICU 源码 首先,从 [ICU 官方网站](http://site.icu-project.org/) 下载适用于 Windows 的 ICU 源代码包。通常可以选择 `icu4c` 版本,这是 ICU 的 C/C++ 实现。 下载完成后,解压源码包到一个合适的目录,例如 `C:\icu\icu4c-xx_x`. ### ### 配置构建环境 ICU 默认支持多种平台,包括 Windows。为了在 Code::Blocks 中编译 ICU,可以采用 MSYS2 或 MinGW 作为编译工具链。 1. **安装 MinGW 或 MSYS2**: - 如果尚未安装 MinGW 或 MSYS2,请从 [MinGW-w64](https://mingw-w64.org/doku.php) 或 [MSYS2](https://www.msys2.org/) 下载并安装。 - 在安装过程中确保选择与 Code::Blocks 相同的编译器版本(如 x86_64 架构)。 2. **设置环境变量**: 将 MinGW/MSYS2 的 `bin` 路径添加到系统环境变量中,以便在命令行中能够调用 `gcc`、`make` 等工具。 ### ### 配置 ICU 构建文件 进入 ICU 的源码目录中的 `source` 文件夹,打开命令提示符或终端,并运行以下命令来配置构建环境: ```bash cd C:\icu\icu4c-xx_x\source ./runConfigureICU Windows mingw32 --prefix=/usr/local ``` 如果使用的是 MSYS2,则路径可能需要调整为 `/c/icu/icu4c-xx_x/source`,并且确保 `--prefix` 指向一个有效的安装目录。 ### ### 使用 Code::Blocks 打开项目 ICU 提供了 Makefile 来进行构建,但 Code::Blocks 更适合管理 `.cbp` 项目文件。可以通过以下方式创建项目: 1. 在 Code::Blocks 中创建一个新的空项目。 2. 添加 ICU 的源文件目录(位于 `source/common` 和 `source/i18n` 等子目录中)。 3. 配置项目的构建选项: - 设置正确的编译器路径(MinGW 或 MSYS2)。 - 在“Build Options”中添加必要的宏定义,例如 `U_COMMON_IMPLEMENTATION`。 - 包含头文件路径:`C:\icu\icu4c-xx_x\source\common`。 ### ### 开始编译 确保所有依赖项都已正确配置后,点击 Build 按钮开始编译 ICU 。整个过程可能会持续一段时间,具体取决于机器性能。 ### ### 安装 ICU 到目标目录 编译完成后,运行以下命令将 ICU 安装到之前指定的 `--prefix` 目录中: ```bash make install ``` 这会将生成的文件和头文件复制到目标目录,便于后续开发使用。 ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值