“make”找不到已安装的库

“make”找不到已安装的库

我正在尝试使用 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 中是否存在必需的库)。如果这不起作用,请复制粘贴您运行的所有命令及其完整输出。

相关内容