CentOS下用cgo+pkg-config编译Go代码提示vips头文件缺失
解决CentOS下Go编译找不到vips/vips.h的问题
你的代码示例:
package xxx /* #cgo pkg-config: vips #include "vips/vips.h" */ import "C"
针对编译时出现的“vips/vips.h: No such file or directory”错误,按以下步骤排查解决:
安装vips开发包
仅安装vips运行库不会包含头文件,执行命令安装开发依赖:sudo yum install vips-devel验证pkg-config的vips配置
执行pkg-config --cflags vips,正常情况下会返回包含头文件路径的参数(比如-I/usr/include/vips)。如果提示找不到vips包,手动指定pkg-config的搜索路径:export PKG_CONFIG_PATH=/usr/lib64/pkgconfig(32位系统替换为/usr/lib/pkgconfig)
再次执行验证命令确认配置生效。编译时指定环境变量
若临时解决编译问题,可直接在编译命令前带上环境变量:PKG_CONFIG_PATH=/usr/lib64/pkgconfig go build确认头文件实际位置
用find /usr -name vips.h查找头文件路径,比如找到/usr/include/vips/vips.h,则需确保pkg-config返回的编译参数包含-I/usr/include,否则需要手动调整PKG_CONFIG_PATH或在cgo中直接指定头文件路径。
内容的提问来源于stack exchange,提问作者catFly
相关产品推荐
相关产品推荐

