找不到第三方aclocal目录下的M4宏
M4 macros in the 3rd-party aclocal directory are not found
我在一个没有root访问权限的系统上本地安装了一个新版本的automake
(1.15)。本地目录的bin文件夹是我的PATH
中的第一个目录。
我也在本地安装了gtk+-2.0
,现在我想构建和安装一个需要gtk
作为依赖项的应用程序,即我想要的应用程序的configure.ac
脚本包含:
PKG_CHECK_MODULES(GTK, [gtk+-2.0 >= 2.0])
为了确保找到m4宏,我将gtk_install_dir/share/aclocal
中的.m4
文件复制到aclocal --print
指定的位置(automake_install_dir/share/aclocal/
)。
我还设置了PKG_CONFIG_PATH=gtk_install_dir/lib/pkgconfig
。
$ libtoolize
$ aclocal
$ autoconf
$ automake
$ ./configure
我得到一个错误信息:
./configure: line 13106: syntax error near unexpected token `GTK,'
./configure: line 13106: `PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.0)'
运行aclocal --verbose
,我可以清楚地看到没有提到gtk,所以它显然没有找到gtk+宏。
我以前没有使用过这些构建工具,我错过了什么?我似乎无法让配置脚本识别gtk已安装!
任何建议都非常感谢,谢谢。
编辑:我可以确认pkg-config
知道我的gtk安装在哪里:
$ pkg-config --print-variables gtk+-2.0
exec_prefix
gtk_binary_version
...
也被pkg-config --debug gtk+-2.0
证实。如果pkg-config
知道所有关于包的信息,为什么autotools不知道?
您需要确保安装了pkg-config-devel或类似名称的包。否则,aclocal无法找到./configure
调用pkg-config
所需的宏 PKG_CHECK_MODULES
。
你试图构建的软件可能在子目录下有一个pkg.m4
文件,比如m4/
,但是如果它没有正确配置,它可能不会注意到,如果有这样的目录,尝试使用autoreconf -fis -I m4
。
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 如何包装第三方DLL在R中使用
- 将 OpenCV 与 CMAKE 中的项目一起构建为第三方库的正确方法
- 第三方 API 中的编译错误 - Visual Studio
- 在一个解决方案中针对第三方静态库 (Creo) 的不同版本(版本)进行构建
- Android NDK:用于第三方Java库的静态或共享C++运行时
- 从第三方定义的类继承时shared_from_this
- Qt应用程序找不到第三方DLL并崩溃
- CMake 包含非 cmake 库的第三方标头
- 我可以将c ++清理器仅应用于程序的一部分而不是第三方库吗?
- CMake:Android Studio 原生活动项目无法在项目根目录之外找到第三方库
- 为什么无法覆盖涉及第三方代码的模板类的运算符<<?
- Android NDK - C++ 异常会导致第三方原生库崩溃
- 与第三方公共图书馆/代码接口
- 减少第三方库的导出符号
- 如何从支持linux/mac操作系统的第三方代码为我的c#项目创建dll
- 如何调试visual studio 2017生成的C++代码.android中的SO文件和其他第三方库
- C++如何组织(管理)第三方库
- C++第三方库 typedef 与标准 stdin.h 冲突
- 找不到第三方aclocal目录下的M4宏