【发布时间】:2015-04-28 14:22:50
【问题描述】:
我正在考虑创建我自己的 GTK2 libwnck 小部件的修改版本。在这些小部件的源文件中,它包含一个名为xutils.h 的文件。此头文件存在于 GNOME 的 libwnck git 存储库中,但它不存在于我的发行版的 libwnck 头文件中。
我尝试为 Arch Linux 搜索 xutils 包,但我找不到这样的包。我还查看了 Fedora 的 libwnck 头文件,也没有 xutils.h 文件。
这是我的问题:
我需要什么 cflags/libs 才能使用这个头文件,否则我需要安装什么包?
为什么我的发行版的 libwnck 头文件中没有
xutils.h文件?
该程序应该能够链接到发行版的库存库。不应期望潜在用户下载和编译其他 libwnck 源文件。
请注意,我要查找的头文件名为xutils.h(带有“s”),而不是Xutil.h。
【问题讨论】:
-
xutils.h是包含在libwnck中的私有 头文件。除了在 libwnck tarball 中,您不会在任何地方找到它,因为它仅在编译期间使用。 -
@ntd 那么,如何将这些小部件与
libwnck分开编译?我可以将xutils.h文件复制到我的源目录中并将我的小部件与我的发行版的股票libwnck链接起来吗?还是我需要将xutils.c源文件编译到我的二进制文件中? -
您应该将您正在使用的代码所需的所有内容都拉入您的源代码树。这并不意味着只有
xutils.c... 更有可能您应该导入大部分 libwnck 项目。为什么不直接分叉呢? -
@ntd 那么,是否不能简单地拉入一个头文件并将我的程序与股票 libwnck 链接?当你说“fork”时,你的意思是我应该 fork 整个 libwnck 项目吗?
-
你可以试试,但我不会屏住呼吸。请确保至少将您的
xutils.h的版本与安装的版本相匹配。我认为 fork(是的,我的意思是 fork 整个 libwcnk 项目)要干净得多,但更好的是从地面启动您的小部件(或从现有的小部件继承)并利用 libwnck 的非 UI 部分。