我们编译使用的 ACPI 工具iASL .exe通常来自Acpica。这个工具是开源的,本文将介绍如何在 Window 下编译。
首先,源代码可以来自https://github.com/acpica/acpica/releases 或者 https://acpica.org/downloads/windows-source。个人更推荐前者,后者在很多时候会有奇怪的问题。
接下来准备编译环境和工具。这次我使用 VS2019, 有兴趣的朋友可以使用这个 VS2019 离线安装包,安装方法很简单的,默认选项不需要联网即可完成安装。接下来需要安装3个工具:
1.GnuWin32 安装界面如下:

上面安装的是 GnuWin32 的安装包,上面的跑完了还要运行一下 install.bat. 特别注意,必须安装到 GnuWin32 目录下

2.接下来安装 Bison,特别注意需要安装到 Gnu32Win 目录下

3.安装 Flex,同样要特别安装到 GnuWin32 目录下。

4.上述安装好了之后需要将 c:\GnuWin32\bin 加入 Path 中。检查方法是设置之后,打开 CMD 窗口,输入 bison 和 flex,如果没有无法找到这个命令的错误,那就是正确的。

5.解压 acpica-R06_04_21.zip c:\apica 目录(必须是这个名字)。然后打开 generate\msvc2017目录下的 AslCompiler.dsw 文件。之后因为这个项目默认使用 VS2017,所以还要改动一下项目属性:

之后即可编译通过,比如我修改代码加入下面的字符串:

为了更加方便使用,这里提供了上面提到的工具。
- acpica-R06_04_21.zip 源代码
- GetGnuWin32-0.6.3.exe
- flex-2.5.4a-1.exe
- bison-2.4.1-setup.exe
如果不愿意进行安装,可以直接使用gnu4acpica这个压缩包,解压到 c:\GnuWin32 ,其中包括了 GnuWin32 Flex 和 Bison 无需额外安装即可编译通过。
链接: https://pan.baidu.com/s/1FcOOLI2OR-1tqwPLtYtuwg 提取码: r9ib