如何从Ghostscript源码为三大主流平台编译生成可移植依赖
Ghostscript 三大平台编译(Make命令调用)指南
首先明确:Makefile.in是automake生成的模板文件,不能直接用make调用,必须先通过configure脚本生成适配当前平台的Makefile,这是你出错的核心原因。以下是三大平台的具体步骤:
GNU/Linux 平台
- 先安装编译依赖:gcc、make、autoconf、automake、pkg-config(根据发行版用apt/yum/dnf等包管理器安装)
- 进入Ghostscript源码目录,执行:
./configure # 可加--prefix=/usr/local指定安装路径 make sudo make install # 可选,将程序安装到系统全局路径
macOS 平台
- 先安装Xcode命令行工具:
xcode-select --install - 用Homebrew安装autotools和编译工具:
brew install autoconf automake make gcc - 进入源码目录,执行:
./configure make make install # 可选
Windows 平台
GNUWin32的Make工具对Unix风格的编译脚本支持有限,更推荐用MSYS2 + MinGW-w64环境,步骤如下:
- 安装MSYS2,打开「MSYS2 MinGW 64-bit」终端(64位系统选这个,32位对应32-bit版本)
- 安装编译依赖:
pacman -S base-devel mingw-w64-x86_64-gcc mingw-w64-x86_64-autoconf mingw-w64-x86_64-automake - 在终端中进入Ghostscript源码目录(示例路径:
cd /c/Users/你的用户名/Downloads/ghostscript-x.x.x) - 生成适配Windows的Makefile:
./configure --build=x86_64-w64-mingw32 - 执行编译:
make
编译完成后,可执行文件会在源码目录的bin子目录下。
新手注意事项
- 所有平台都必须先运行
./configure生成专属Makefile,直接调用Makefile.in必然报错 - 确保编译工具链完整,缺失依赖会导致configure或make过程中断
- 若需跨平台编译(比如在Linux上编译Windows版本),需额外配置交叉编译工具链,本地编译无需此操作
内容的提问来源于stack exchange,提问作者Chandan Pednekar
相关产品推荐
相关产品推荐

