Eclipse for C++ 无法识别酿造的 GSL 和 Boost 库
Eclipse for C++ not recognizing brewed GSL and Boost libraries
我使用的是运行Mac OS X的系统。我正在使用 Eclipse Oxygen.2 进行 C/C++,就我而言C++。我正在尝试创建一个使用 GSL 和 Boost 库的项目。但是,Eclipse 似乎无法找到 GSL 库,并且似乎可以识别 Boost 库,但似乎无法执行 Boost 库中包含的任何操作。这两个库都是使用自制软件安装的。这是我正在使用的代码:
#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;
}
错误如下:
行
#include <gsl.h>
,显示fatal error: 'gsl.h' file not found
。随着行
gsl::owner<int*> p = &x;
它显示Symbol 'owner' could not be resolved
.用
boost::optional<string>;
行显示Type 'boost::optional<string>' could not be resolved
.这个很奇怪,因为它似乎与boost/optional.hpp
文件没有问题。
以下其他信息可能会有所帮助:
我正在使用MacOS X工具链。我应该切换到跨海湾合作委员会工具链吗?
以下是 MacOS X C++链接器>库> C/C++ 构建>>设置的项目首选项下列出的库搜索路径:/usr/local/Cellar/boost/1.66.0/include
和/usr/local/Cellar/gsl/2.4/include
。
我正在关注特雷弗·佩恩(Trevor Payne)的"让我们学习C++教程系列"。
看起来您已经将库而不是包含指向头文件。
右键单击项目资源管理器中的保护。从弹出菜单中选择属性。在"属性"对话框 C/C++ 常规路径和符号>中导航。选择"包括"选项卡,将/usr/local/Cellar/boost/1.66.0/include 和/usr/local/Cellar/gsl/2.4/include 添加到所有配置的C++语言中。
从"库">选项卡中删除包含目录,然后前往"库路径"选项卡以添加库的位置(如果需要)。提升通常只是标题。GSL 我不知道来自 Atom。
很好地识别了正确的问题并提供良好的调试信息。
由于您已经安装了GSL和Boost与Homebrew,它们可能安装正确,编译器找不到正确的头文件和库文件 - 这可能是因为您在错误的设置中使用了不正确的路径。
在Linker > Libraries
选项中,您将使用加速和 GSL 的两条include
路径。这些属于用于查找标头的不同路径选项,而不是库(我不确定它到底在哪里,我没有 mac!确保您在此处仔细遵循教程的说明。
但是,您还需要将库路径放在库选项中:例如/usr/local/Cellar/gsl/2.4/include
应该是类似/usr/local/Cellar/gsl/2.4/lib
- 理解boost::asio-async_read在无需读取内容时的行为
- boost::进程间消息队列引发错误
- 如何运行位于boost/libs/python/example/tutorial目录中的hello.cpp和Jamfil
- cmake如何在fedora工作站中找到boost静态库包
- CMake项目Boost库错误:Boost/config/compiler/gcc.hpp:165:10:致命错误:cs
- Boost Graph Library,修复节点大小
- 什么是"#include <boost/functional/hash.hpp> "?
- 基于boost的程序的静态链接——zlib问题
- C++:如何在CLion IDE中安装Boost
- C++Boost Asio Pool线程,带有lambda函数和传递引用变量
- 如何在boost beast http请求中设置http头
- Boost Spirit,获取迭代器内部语义动作
- boost::asio::steady_timer()与sleep()我应该使用哪一个
- boost::asio如何生成多个协同程序,然后加入它们
- 当我尝试使用 sstream 和分面将 Boost Time_duration转换为字符串时,我没有得到所需的格式
- 如何处理来自核心指南检查器的关于gsl::at的静态分析警告
- Visual Studio(或任何其他工具)能否将地址解释为调用堆栈(boost上下文)的开头
- Eclipse for C++ 无法识别酿造的 GSL 和 Boost 库
- 将MPI_Op_create与诸如boost或GSL之类的外部库函数一起使用
- boost::any_range<gsl::string_span<>> 在发布模式下崩溃