链接库C ++的问题

时间:2013-02-21 23:02:12

标签: c++ c netbeans

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

请指导我如何将图书馆链接到我的项目。我真的花了很多天做这件事,但我没有成功。 screenshot

1 个答案:

答案 0 :(得分:0)

假设你只对libspatialindex感兴趣:

  1. 确保安装了相应的文件:尝试locate libspatialindex并查看其安装位置。你可以有* .a,* .so或类似的扩展名。注意路径。
  2. 进入项目根目录,即:/ home / keira / netbeans / projects / myproject
  3. 尝试:gcc -i main.cpp -L/usr/lib/ -lspatialindex -o myfile
  4. 将-L / usr / lib替换为您知道库所在的实际位置。

    cxx链接标志通常是带有-l前缀的库的名称。例如,如果系统中找到的名称为libspatialindex.so,则可以尝试使用-lspatialindex

    有一种方法可以在Debian&上找到实际的标志。 Ubuntu系统,但我不能记住它。或者,您可以随时查看谷歌或阅读图书馆文档。

    当你经常看到带有未定义函数的链接器错误等时,这意味着你没有链接,只要你已经包含了标题并找到了它们。

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

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