如何运行Unicorn的Makefile并解决编译时的相关报错
问题解决步骤
1. 修复Makefile规则错误
你当前C源文件命名为main.c,但Makefile中all目标依赖test,不存在对应test.c文件,两种修正方案选其一即可:
- 修改Makefile中
all: test为all: main - 将
main.c重命名为test.c
同时注意Makefile中编译规则行的缩进必须是Tab字符,不能用空格,否则会触发语法错误。
2. 修复头文件和链接库缺失错误
你通过pip3 install unicorn安装的是Unicorn的Python语言绑定,仅提供Python调用能力,没有包含C开发所需的头文件、系统动态库,需要安装系统级Unicorn开发包:
- Debian/Ubuntu 系列系统执行:
sudo apt install libunicorn-dev - Fedora/RHEL 系列系统执行:
sudo dnf install unicorn-devel - macOS 系统执行:
brew install unicorn
安装完成后执行sudo ldconfig更新系统动态库缓存,避免链接时找不到库文件。
3. 编译验证
完成上述修改后执行make命令即可正常编译,运行生成的可执行文件会输出如下结果:
Emulate i386 code Emulation done. Below is the CPU context >>> ECX = 0x1235 >>> EDX = 0x788f
内容的提问来源于stack exchange,提问作者user16280398
相关产品推荐
相关产品推荐

