alt*_*ive 7 automake autoconf pkg-config autotools
我需要为一个项目包含GLib头文件,该项目是使用基于autoconf的系统构建的,以便于移植.
如何以可移植的方式安全地导入GLib标头?我知道pkg-config,但这不是完全可移植的(因为有些系统没有它,我宁愿只依靠autoconf进行配置).
Dan*_*ien 12
通过使用PKG_CHECK_MODULES
宏,Autoconf生成的configure
脚本可以自动检索pkg-config数据.例如,将此行添加到您的configure.ac
文件中:
PKG_CHECK_MODULES([DEPS], [glib-2.0 >= 2.24.1])
Run Code Online (Sandbox Code Playgroud)
将导致所得到的configure
脚本,以确保已安装的油嘴-2.0版本大于或等于2.24.1版以及追加到变量DEPS_CFLAGS
和DEPS_LIBS
的输出pkg-config --cflags glib-2.0
和pkg-config --libs glib-2.0
分别.然后使用和初级中的$(DEPS_CFLAGS)
和$(DEPS_LIBS)
变量:_CFLAGS
_LDADD
bin_PROGRAMS = hello
hello_CFLAGS = $(DEPS_CFLAGS)
hello_SOURCES = hello.c
hello_LDADD = $(DEPS_LIBS)
Run Code Online (Sandbox Code Playgroud)
GLib 2.22INSTALL
文件指出这pkg-config
是安装此库的要求。我不是 GLib(双关语!);此要求的声明是文件顶部的第一件事INSTALL
。
从周围的文本来看,尚不清楚是否pkg-config
需要编译 GLib 本身,但很明显,GLib 2.22 作者不打算让任何用户在没有 pkg-config 的情况下针对 GLib 进行编译。特别是,GLibmake install
将正确安装.pc
文件。
为了平台的可移植性,请指导用户进行$PKG_CONFIG_PATH
适当的设置。
归档时间: |
|
查看次数: |
3535 次 |
最近记录: |