在 Netbeans 8.1 中包含外部 c 库

Including external c library in Netbeans 8.1

我发誓我一直在网上搜索,尤其是在 Whosebug 上寻找答案,因为这个问题非常基础。但是我就是没弄对,这就是为什么我要打开一个新线程。

所以,我想在 Netbeans 上的 C 项目中包含 libevent 库。我以前从未使用过外部库,而且我似乎无法找到如何将它包含在 Netbeans 中(我以前也从未使用过它)。 到目前为止我发现的是:

1) 如果我在项目名称上 right-click 然后单击属性,我可以以某种方式包含外部库。

2) 我需要在 Build -> C Compiler 和 Build -> Linker 部分配置库。

但是,我无法弄清楚必须包含哪些文件以及必须在何处提供它们(包括目录、包括 Headers、其他选项...)。有很多不同的部分,在 libevent 库中有很多以 .h、.a、.so 等结尾的不同文件以及 pkconfig 和 bin 文件夹。我真的不知道该怎么办。我非常困惑。有人可以帮忙吗?我真的非常感谢!

  1. 打开项目属性并转到 Build -> Linker。 单击库部分右侧的三个点,然后单击 Add PkgConfig Library。你的图书馆出现在那里吗?如果是select就可以了。

  2. 如果这不起作用,请查看 .so 文件(共享库)的名称。例如,一个文件可能被称为 libfoo.so。在项目属性 Build -> Linker 部分中,在 Additional Options 旁边键入库名称,如下所示:-lfoo。也就是说,忽略 .so 并将 lib 替换为 l.

  3. 如果还是不行,你可能没有正确安装库。在这种情况下,尝试将保存 .so 文件的目录添加到 Build -> Linker 选项卡的 Additional Library Directories 部分并重复步骤 2。

假设您正在使用 Linux 并且您 运行 make install,这些库应该已经安装到正确的目录中,所以第 3 步应该是不必要的。