我正在尝试使用 make 来编译purple-facebook
,一个pidgin
.
它需要json-glib
我已经安装的,但是每当我尝试编译时,它都会返回
fatal error: json-glib/json-glib.h: No such file or directory.
我尝试在/usr/include
命名json-glib
链接中创建符号链接json-glib-1.0
,但这会导致它重复输出
gcc: warning: /var/cache/apt/archives/libjson-glib-1.0-0-dbg_1.0.2-1_armhf.deb: linker input file unused because linking not done.
我正在运行 Raspbian,一个基于 Debian 的发行版。我该怎么做才能编译这个东西?
答案1
我不是 Rasbian 用户,但我假设您刚刚安装了 JSON GLib图书馆。您还需要头文件。这些都可以在json-glib-dev
包装中找到。
作为一般建议:如果您发现自己以 root 身份移动内容(库、二进制文件),或者到处创建符号链接,那么很可能您做错了什么,并且有更好的方法来做到这一点。
答案2
安装包libjson-glib-dev
。它及其依赖项包含您需要的文件。
json-glib/json-glib.h
在下面/usr/include/json-glib-1.0
。所以您创建的符号链接没有用。删除它(它可能会混淆configure
脚本)。为了让编译器搜索下面的头文件/usr/include/json-glib-1.0
,你需要传递该选项-I /usr/include/json-glib-1.0
。但不要手动执行此操作:调用pkg-config
,其中包括此选项和其他必要选项。您需要确保传递给 C 编译器的标志包括`pkg-config --cflags json-glib-1.0`
,并且链接标志包括`pkg-config --libs json-glib-1.0`
。
运行./autogen.sh
应该生成带有适当选项的 makefile。如果您在安装所有必需的库之前运行它,请./configure
再次运行;这将pkg-config
使用适当的选项进行调用并生成一个新的Makefile
.然后键入make
构建。
要构建 Debian 软件包,安装依赖项然后运行dpkg-buildpackage
应该就足够了(至少在 jessie 下,我还没有检查 wheezy 中是否存在必需的库)。如果这不起作用,请复制粘贴您运行的所有命令及其完整输出。