哪里。个人电脑?

哪里。个人电脑?
  1. configure当使用,make和安装库时make install,是否make install复制<libraryname>.pc到某个地方?

    • 如果是:它在哪里?
    • 如果不是:我们应该将其复制到某个地方而不是将它们留在原处吗?
  2. 我这么问是因为在我的一本旧笔记本上,我看到:

    将包含的目录添加libraryname.pc到 PKG_CONFIG_PATH 环境变量中,以便pkg-config --clags librarynamepkg-config --libs libraryname可以找到它们。

  3. dpkg -l能够根据其路径是否添加来跟踪已安装的库PKG_CONFIG_PATH

  4. 一旦我复制<libraryname>.pc到某个地方,就能dpkg -l跟踪已安装的软件包吗?

答案1

一般来说,./configure && make && make install没有任何参数会将所有内容粘贴在 下/usr/local,这将放置foo.pc/usr/local/lib/pkgconfig/foo.pc

要利用它,您基本上需要PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:${PKG_CONFIG_PATH} pkg-config --cflags foo按以下方式进行编译:

./configure --prefix=/usr #places built binaries under /usr instead of /usr/local
make
make install

现在foo.pc文件将位于预期位置。

注意:这会将内容放置在系统文件夹中,因此请注意,如果不小心,您可能会覆盖重要的内容。

对于这个问题的回答是dpkg,不。包管理器只能跟踪它们安装的文件。现在,如果您喜欢冒险,您可以编写包装标准 buils 过程所需的文件./configure && make && make install以生成dpkg可安装的 deb 包,该包被追踪:)

自从我上次制作 Debian 软件包以来已经有一段时间了,几年了,说实话我相当讨厌这个过程,所以不要指望我提供这方面的信息。从那时起,我已经切换到 archlinux 并编写PKGBUILDs (使用 构建 arch 包的脚本makepkg)是一项非常简单的任务:)

相关内容