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

How do you get C++ libraries to work in Eclipse?

我不会浪费太多时间来抱怨它来自 Java 有多难,这是一种语言,您只需单击一个按钮,然后 select 一个文件即可将外部库添加到一个项目,到 C++,如果没有 owl 的耐心似乎是不可能完成的。我不认为我需要 post 像这样的问题,因为它看起来很初级,但至少已经尝试了 3 周并失败了。我还阅读了 eclipse 网站提供的模糊文档,它根本没有涵盖任何内容。

例如,假设 gtkmm-3.0。我已经在我的 linux 机器上安装了它,一切正常。为什么不能只做:

 #include <gtkmm-3.0/gtkmm.h>

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

我也曾多次尝试使用其他库,但均以失败告终,并向我认识的全职 C++ 开发人员寻求帮助,但他也无法解决该错误。

tl;dr - 从互联网上下载 lib,打开 eclipse,做什么?

抱歉,如果这个问题看起来很愚蠢。当 'working' 使用 C++ 时,抑郁症真的很糟糕。

我发现包含和链接适当库的最佳方法是为所有配置创建构建变量。这样我就可以在一个地方根据需要 add/remove 库和标志。

  • 创建构建变量
    • 右键单击您的项目和 select 属性,然后 C/C++ Build -> Build Varialbes
    • 确保配置设置为 [All Configurations]
    • Select 添加并给它起一个像 GTK_CFLAGS 这样的名字,对于值,它是一个类型为`pkg-config gtkmm-3.0 --cflags`的字符串(那些是反引号)
    • 现在做另一个变量,但将其命名为 GTK_LIBS 并使用标志 --libs 而不是 --cflags
    • Select申请
  • 现在转到设置(也应该在 C/C++ 构建下)
    • 确保配置适用于所有配置,而不仅仅是发布或调试
    • Select GCC C++ Compiler(或您使用的任何编译器)
    • 在命令行模式中(应该看起来像 ${COMMAND} ${FLAGS} ${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT} ${INPUTS} -std=c++11)在命令宏
    • 之后添加 ${GTK_CFLAGS}(或任何你叫它的东西)
    • select申请
    • 现在 Select GCC C++ Linker 并在 ${INPUTS} 之后的命令行模式中放置 ${GTK_LIBS} 和 select 应用

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