0

我的问题是我无法将库包含到我当前的项目中。[将netbeans中的库包含到项目中的方法是通过链接器将其链接到项目]。但是,在我当前的项目(由离开组织的另一位程序员编写)中,没有出现链接器选项。我附上了截图。我面临的问题是通过链接器将库链接到我当前项目的选项未出现在 IDE 中。有人可以请帮助我。我也会非常感谢你。

请指导我如何将库链接到我的项目。我真的花了很多天来做这件事,但我没有成功。截屏

4

1 回答 1

0

假设您只对 libspatialindex 感兴趣:

  1. 确保您安装了适当的文件:尝试 alocate libspatialindex并查看它的安装位置。您可以有 *.a、*.so 或类似的扩展名。注意路径。
  2. 进入你的项目根目录,即:/home/keira/netbeans/projects/myproject
  3. 尝试:gcc -i main.cpp -L/usr/lib/ -lspatialindex -o myfile

将 -L/usr/lib 替换为您知道库所在的实际位置。

cxx 链接标志通常是带有 -l 前缀的库的名称。例如,如果在系统中找到的名称是libspatialindex.so一个不错的选择-lspatialindex

有一种方法可以在 Debian 和 Ubuntu 系统上找到实际标志,但我不记得了。或者,您可以随时查看 google 或阅读库文档。

当您通常看到带有未定义函数等的链接器错误时,这意味着您没有进行链接,前提是您已经包含了标头并找到了它们。

现在对于 Netbeans,我假设可以选择将额外的参数传递给编译器。在这种情况下,您只需要-lspatialindex标志,前提是 Netbeans 知道在哪里可以找到库和标头。这就是它在 KDevelop 和我使用过的其他 IDE 中的工作方式。

或者,如果您想要更多控制和更多自动化,您可能需要使用像 cmake 这样的工具。

于 2013-02-21T23:29:30.490 回答