如何让C ++库在Eclipse中工作?

时间:2015-03-11 01:35:39

标签: c++ eclipse libraries

我不会浪费太多时间呻吟它是多么困难来自Java,这种语言你真的点击按钮并选择一个文件来将外部库添加到项目中,到C ++似乎没有猫头鹰的耐心是不可能的。我并不认为我必须发布这样的问题,因为它似乎很简单,但至少已经有3周的尝试和失败。我还阅读了eclipse网站提供的模糊文档,它根本没有涵盖任何内容。

例如,让我们说gtkmm-3.0。我在我的linux机器上安装了它,一切都很好。为什么不能这样做:

 #include <gtkmm-3.0/gtkmm.h>

因为这确实是Eclipse中的一个建议。在这个阶段,我已经不知所措了,因为我认为一个好的IDE不应该为那些实际上不可用的东西提供建议,如果确实如此,它至少应该自动包含它们或者什么东西。

我也曾多次尝试和失败过其他库,并向我认识的全职C ++开发人员寻求帮助,他也无法解决错误问题。

tl; dr - 从网上下载lib,打开eclipse,有什么用?

很抱歉,这个问题似乎很愚蠢。说实话,这种沮丧只是......当工作时很糟糕。用C ++。

1 个答案:

答案 0 :(得分:1)

我发现包含和链接相应库的最佳方法是为所有配置创建构建变量。这样我可以在一个地方根据需要添加/删除库和标志。

  • 创建构建变量
    • 右键单击您的项目并选择属性,然后选择C / C ++ Build - &gt;建立Varialbes
    • 确保配置设置为[All Configurations]
    • 选择添加,并为其命名为GTK_CFLAGS,对于该值,它是一个类型为`pkg-config gtkmm-3.0 --cflags`的字符串(后面的刻度线)
    • 现在执行另一个变量,但将其命名为GTK_LIBS并使用标记--libs代替--cflags
    • 选择应用
  • 现在转到设置(也应该在C / C ++构建下)
    • 确保配置适用于所有配置,而不仅仅是发布或调试
    • 选择GCC C++ Compiler(或您正在使用的任何编译器)
    • 在命令行模式中(应该看起来像${COMMAND} ${FLAGS} ${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT} ${INPUTS} -std=c++11)在命令宏之后添加${GTK_CFLAGS}(或者你称之为的任何内容)
    • 选择申请
    • 现在选择GCC C++ Linker并在${INPUTS}放置${GTK_LIBS}后在命令行模式中选择应用

这应该让你用GTKmm编译,索引器和自动完成可能仍然存在问题。如果要包含特定的头文件,以便您的索引器和自动完成功能可以看到它们。您可以在C/C++ General-> Paths and Symbols中执行此操作并添加include目录,然后选择应用并重建索引。