From be2603a742f026c4896c2da0841df78b51726df2 Mon Sep 17 00:00:00 2001 From: lixianjing Date: Thu, 14 Jul 2022 17:49:48 +0800 Subject: [PATCH] improve for win32 res --- awtk_config.py | 8 +++++++- docs/changes.md | 3 +++ win32_res/README.md | 10 +++++++++- win32_res/awtk_x86.res | Bin 0 -> 21926 bytes 4 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 win32_res/awtk_x86.res diff --git a/awtk_config.py b/awtk_config.py index b123a83de..b9dd0f0fe 100644 --- a/awtk_config.py +++ b/awtk_config.py @@ -8,8 +8,14 @@ from awtk_config_common import joinPath, toWholeArchive, genIdlAndDefEx, setEnvS from awtk_config_common import OS_FLAGS, OS_LIBS, OS_LIBPATH, OS_CPPPATH, OS_LINKFLAGS, OS_SUBSYSTEM_CONSOLE, OS_SUBSYSTEM_WINDOWS, OS_PROJECTS, COMMON_CFLAGS WIN32_AWTK_RES = 'win32_res/awtk.res' +if TARGET_ARCH == 'x86': + WIN32_AWTK_RES = 'win32_res/awtk_x86.res' + if not os.path.exists(WIN32_AWTK_RES): - WIN32_AWTK_RES = os.path.join(TK_ROOT, 'win32_res/awtk.res') + if TARGET_ARCH == 'x86': + WIN32_AWTK_RES = os.path.join(TK_ROOT, 'win32_res/awtk_x86.res') + else: + WIN32_AWTK_RES = os.path.join(TK_ROOT, 'win32_res/awtk.res') AWTK_STATIC_LIBS = ['awtk_global', 'extwidgets', 'widgets', 'base', 'gpinyin', 'fribidi', 'linebreak'] diff --git a/docs/changes.md b/docs/changes.md index b90aaeb9e..eb4a602a0 100644 --- a/docs/changes.md +++ b/docs/changes.md @@ -1,5 +1,8 @@ # 最新动态 +2022/07/14 + * win32_res兼容x86平台编译(感谢雨欣提供补丁) + 2022/07/13 * 重构 widget\_add\_child * 完善 pages 动态增加子控件。 diff --git a/win32_res/README.md b/win32_res/README.md index 205847ff9..da75e8904 100644 --- a/win32_res/README.md +++ b/win32_res/README.md @@ -5,7 +5,7 @@ 1. 用 VC 创建的 .res 文件代替 awtk.res, 2. 用 [ResEdit](http://rsdt.free.fr/ResEdit-x64.7z) 直接编辑 awtk.res 文件。 -兼容 mingw 的话: +## 生成兼容 mingw 的 res 1. awtk.rc 转为 utf8(或者 utf8 with BOM) 的编码。 2. 注释 rc 文件中的 #include "targetver.h" 代码 @@ -14,3 +14,11 @@ ```bash windres awtk.rc -O coff awtk.res ``` + +## 生成兼容 mingw 的 x86 格式 res + +步骤与上一小节一致,但最后使用 windres 工具导出 res 文件时,需要加上 `--target=pe-i386` 参数,命令如下: + +```bash +windres awtk.rc -O coff awtk_x86.res --target=pe-i386 +``` diff --git a/win32_res/awtk_x86.res b/win32_res/awtk_x86.res new file mode 100644 index 0000000000000000000000000000000000000000..7dddc9ada4a36d85daf784bfa8b2958c75fa519c GIT binary patch literal 21926 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 TDCLH|H1gkG