112 lines
3.7 KiB
Markdown
112 lines
3.7 KiB
Markdown
# AWTK 应用程序
|
||
|
||
## 准备
|
||
|
||
获取 awtk 并编译,可以通过以下两种方法:
|
||
|
||
1. 安装 [AWStudio](https://awtk.zlg.cn/awstudio/download.html)
|
||
|
||
安装完 AWStudio 后,打开 AWTK Designer 后新建或打开一个项目,在插件管理页面的已安装列表可以看到AWTK插件,选择编译或重新编译即可。
|
||
|
||
2. 前往 GitHub 获取
|
||
|
||
打开 Git Bash,执行如下命令:
|
||
|
||
```
|
||
git clone https://github.com/zlgopen/awtk.git
|
||
cd awtk; scons; cd -
|
||
```
|
||
|
||
## 运行
|
||
|
||
1. 编译
|
||
|
||
```
|
||
scons
|
||
```
|
||
|
||
2. 生成项目的资源文件
|
||
|
||
```
|
||
python ./scripts/update_res.py all
|
||
```
|
||
|
||
3. 运行
|
||
|
||
```
|
||
./bin/demo
|
||
```
|
||
|
||
## FAQ
|
||
|
||
### 设置 APP 运行时是否显示控制台窗口
|
||
|
||
如果 Windows 平台不想在运行程序时弹出控制台窗口,请在当前项目目录下的 `src/main.c` 文件中添加宏定义,如下所示:
|
||
|
||
```c
|
||
#define APP_ENABLE_CONSOLE FALSE
|
||
```
|
||
|
||
> 该定义需要在`#include "awtk_main.inc"`前添加。
|
||
|
||
### 设置 APP 标题栏的标题
|
||
|
||
如果需要修改 APP 标题栏的标题(运行程序时窗口左上角显示的名称),请在当前项目目录下的 `src/main.c` 添加宏定义,例如:
|
||
|
||
```c
|
||
#define APP_NAME "HelloWorld"
|
||
```
|
||
|
||
> 该定义需要在`#include "awtk_main.inc"`前添加。
|
||
|
||
### 设置 APP 可执行文件的名称
|
||
|
||
如果需要修改生成的可执行文件名称,请修改`src/SConscript`文件里的内容,如下所示
|
||
|
||
```python
|
||
env.Program(os.path.join(BIN_DIR, 'HelloWorld'), sources, LIBS = env['LIBS'])
|
||
```
|
||
|
||
将上述代码中的"HelloWorld"修改成想要的名称再进行编译即可。
|
||
|
||
### 设置 APP 依赖的库
|
||
|
||
如果需要设置依赖的库,可以打开项目目录中的`Sconstruct`文件,修改 DEPENDS_LIBS。关于 DEPENDS_LIBS 的更多信息,请参阅 [如何添加第三方库](http://awtk.zlg.cn/docs/awtk_docs/HowTo/how_to_use_3rd_libs.html)。
|
||
|
||
### 设置 APP 的图标
|
||
|
||
如果需要修改应用程序的图标,有两种方法(只适用于 Windows 平台):
|
||
|
||
1. 用 VC 创建的 .res 文件代替 当前依赖的 awtk 的SDK 包中的 `awtk/win32_res`里的 awtk.res 文件;
|
||
2. 用 [ResEdit](http://rsdt.free.fr/ResEdit-x64.7z) 直接编辑上述文件。
|
||
|
||
**1. 生成兼容 [mingw](https://sourceforge.net/projects/mingw-w64) 的 res**
|
||
|
||
1. awtk.rc 转为 utf8(或者 utf8 with BOM) 的编码;
|
||
2. 注释 rc 文件中的 #include "targetver.h" 代码;
|
||
3. windres 工具重新导出 res 文件。(windres 是 mingw 提供的 exe)
|
||
|
||
```bash
|
||
windres awtk.rc -O coff awtk.res
|
||
```
|
||
|
||
**2. 生成兼容 mingw 的 x86 格式 res**
|
||
|
||
步骤与上一小节一致,但最后使用 windres 工具导出 res 文件时,需要加上 `--target=pe-i386` 参数,命令如下:
|
||
|
||
```bash
|
||
windres awtk.rc -O coff awtk_x86.res --target=pe-i386
|
||
```
|
||
|
||
### scripts目录的文件介绍
|
||
|
||
在`scripts`目录下,存放着几个脚本,下面简单介绍一下几个脚本的作用。
|
||
|
||
| 文件 | 作用 |
|
||
| -------------------------------------------- | ------------------------------------------------------------ |
|
||
| [update_res.py](./scripts/update_res.py) | 用于打包资源,使用方法可以查看该目录下的 [README.md](./scripts/README.md) 文档。 |
|
||
| [awtk_locator.py](./scripts/awtk_locator.py) | 帮助搜索依赖的 AWTK,更多信息请参阅 [如何查找AWTK SDK](http://awtk.zlg.cn/docs/awtk_docs/FAQ/2.AWTK%20Designer.html#编译项目时-是如何搜索awtk-sdk的-搜索的顺序是什么样的)。 |
|
||
| [app_helper.py](./scripts/app_helper.py) | 帮助加载 AWTK 应用的公共编译参数,完成编译设置,以及编译 APP 依赖的库。 |
|
||
| [release.py](./scripts/release.py) | 用于生成发布包,执行程序后会在项目目录生成 release 文件夹。 |
|
||
|