【问题标题】:Eclipse for C++ not recognizing brewed GSL and Boost librariesEclipse for C++ 无法识别酿造的 GSL 和 Boost 库
【发布时间】:2018-08-09 00:21:45
【问题描述】:

我在运行 Mac OS X 的系统上。我正在使用 Eclipse Oxygen.2 for C/C++,在我的例子中是 C++。我正在尝试创建一个使用 GSL 和 Boost 库的项目。但是,Eclipse 似乎无法找到 GSL 库并且似乎可以识别 Boost 库,但似乎无法执行 Boost 库中包含的任何操作。这两个库都是使用 Homebrew 安装的。这是我正在使用的代码:

#include <iostream>
#include <gsl.h>
#include <boost/optional.hpp>
using namespace std;

int main () {
    int x = 5;
    gsl::owner<int*> p = &x;
    boost::optional<string>;
    return 0;
}

错误如下:

  1. #include &lt;gsl.h&gt; 行显示fatal error: 'gsl.h' file not found

  2. gsl::owner&lt;int*&gt; p = &amp;x; 行显示Symbol 'owner' could not be resolved

  3. boost::optional&lt;string&gt;; 行显示Type 'boost::optional&lt;string&gt;' could not be resolved。这个很奇怪,因为boost/optional.hpp 文件似乎没有问题。

其他信息可能会有所帮助:

我正在使用 MacOS X 工具链。我应该切换到 Cross GCC 工具链吗?

以下是项目首选项 > C/C++ 构建 > 设置 > MacOS X C++ 链接器 > 库下列出的库搜索路径:/usr/local/Cellar/boost/1.66.0/include/usr/local/Cellar/gsl/2.4/include

我正在关注 Trevor Payne 的 Let's Learn C++ 教程系列。

【问题讨论】:

    标签: c++ eclipse macos boost gsl


    【解决方案1】:

    看起来您已经将库而不是包含指向了头文件。

    右键单击项目资源管理器中的保护。从弹出菜单中选择属性。在属性对话框 C/C++ General->Paths And Symbols 中导航。选择包含选项卡。将 /usr/local/Cellar/boost/1.66.0/include 和 /usr/local/Cellar/gsl/2.4/include 添加到所有配置的 C++ 语言中。

    从“库”选项卡中删除包含目录,然后转到“库路径”选项卡以添加库的位置(如果需要)。 Boost 通常只是标题。我不知道 Atom 的 GSL。

    【讨论】:

    • 这行得通,但另一个主要问题是我使用的是#include &lt;gsl.h&gt; 而不是#include &lt;gsl_sf.h&gt;。我不知道它们之间有什么区别。
    【解决方案2】:

    很好地确定了正确的问题并提供了良好的调试信息。

    因为您已经使用 Homebrew 安装了 GSL 和 Boost,它们可能安装正确,编译器只是找不到正确的头文件和库文件 -- 这可能是因为您正在使用错误设置中的错误路径。

    Linker &gt; Libraries 选项中,您将两个 include 路径用于 Boost 和 GSL。这些属于用于查找标头的不同路径选项,而不是库(我不确定它到底在哪里,我没有 mac!)。请确保您在此处仔细按照教程的说明进行操作。

    确实还需要将库路径放在库选项中,但是:例如: /usr/local/Cellar/gsl/2.4/include 应该类似于 /usr/local/Cellar/gsl/2.4/lib

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-19
      • 2012-08-03
      • 1970-01-01
      相关资源
      最近更新 更多