【发布时间】:2019-11-13 15:39:20
【问题描述】:
我正在 yocto/openembedded 交叉编译环境中构建程序。它使用以下 configure.ac 文件
AC_INIT([my-program], [1])
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
AC_LANG(C++)
AC_PROG_CXX
AX_PTHREAD()
PKG_PROG_PKG_CONFIG
if test -z "$PKG_CONFIG"; then
AC_MSG_WARN([Cannot find pkg-config, make sure it is installed in your PATH])
fi
PKG_CHECK_MODULES(LIBPNG, libpng >= 1.6.34)
PKG_CHECK_MODULES(FREETYPE2, freetype2 >= 21.0.15)
PKG_CHECK_MODULES(EGL, egl > 0)
PKG_CHECK_MODULES(GLES2, glesv2 > 0)
PKG_CHECK_MODULES(GLM, glm >= 0.9.9)
PKG_CHECK_MODULES(SPATIALITE, spatialite >= 4.3.0)
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
配置步骤失败,因为它找不到 pkg-config 配置可执行文件。我知道 pkg-config 在构建环境中设置正确,因为它适用于其他软件包。
日志文件显示未设置 PKG_CONFIG 环境变量。这应该由PKG_PROG_PKG_CONFIG 命令完成,这会让我相信我的配置文件或 bitbake 配方有问题。
我在配置文件中缺少什么?
作为参考,这里是 bitbake 配方文件 https://gist.github.com/j-omega/15af56fce3dc7f515fedc7d891e0dd74
【问题讨论】:
-
您需要将配方中的
DEPENDS_${PN}替换为DEPENDS。也许尝试删除 PKG_PROG_PKG_CONFIG 行或将其替换为AC_REQUIRE([PKG_PROG_PKG_CONFIG])?
标签: yocto autotools autoconf bitbake