eclipseforc++无法识别自酿的gsl和boost库(代码片段)

author author     2022-11-28     512

关键词:

我在运行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 <gsl.h>线,它显示fatal error: 'gsl.h' file not found
  2. 线gsl::owner<int*> p = &x;显示Symbol 'owner' could not be resolved
  3. 线boost::optional<string>;显示Type 'boost::optional<string>' could not be resolved。这个很奇怪,因为它似乎与boost/optional.hpp文件没有任何问题。

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

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

以下是项目首选项> C / C ++ Build> Settings> MacOS X C ++ Linker> Libraries:/usr/local/Cellar/boost/1.66.0/include/usr/local/Cellar/gsl/2.4/include下列出的库搜索路径。

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

答案

看起来你已经在头文件中指出了库而不是包含。

右键单击Project Explorer中的protect。从弹出菜单中选择属性。在属性对话框中导航C / C ++ General-> Paths And Symbols。选择包含选项卡。添加/usr/local/Cellar/boost/1.66.0/include和/usr/local/Cellar/gsl/2.4/include所有配置的C ++语言。

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

另一答案

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

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

Linker > Libraries选项中,您使用两个include路径用于Boost和GSL。这些属于不同的路径选项,用于查找标题,而不是库(我不确定它的确切位置,我没有mac!)。请确保您在此处仔细遵循教程说明。

但是,您还需要将库路径放在“库”选项中:例如: /usr/local/Cellar/gsl/2.4/include应该像/usr/local/Cellar/gsl/2.4/lib

无法识别谓词“Column<b”。派斯帕克 |三角洲湖

】无法识别谓词“Column<b”。派斯帕克|三角洲湖【英文标题】:Cannotrecognizethepredicate\'Column<b\'.Pyspark|Delta-lake【发布时间】:2020-10-2721:33:52【问题描述】:在尝试使用分区为日期(yyyy-MM-dd)和时间(hhmm)对deltaLake表进行重新... 查看详情

gsl_rng_default 未解决的外部错误

...机偏差。程序不会链接,给出众所周知的“错误LNK2001:无法解析的外部符号_gsl_rng_default”错误消息。问题是不是GSL的常规安装。我可以编译和调用cdf函数就 查看详情

gsl复数

一、复数的表示  复数的两种表示:  gsl复数结构的声明和部分宏在gsl_complex.h中,方法的声明和另一部分宏在gsl_complex_math.h。复数的表示(结构)有三种,即float型、double型和longdouble型。dat[0]表示实部,dat[1]表示虚部。应... 查看详情

lodash 的 debounce 方法在 buefy 中使用 b-taginput 无法识别空格字符?

】lodash的debounce方法在buefy中使用b-taginput无法识别空格字符?【英文标题】:Spacecharacterdoesn\'tgetrecognizedinlodash\'sdebouncemethodwithb-taginputinbuefy?【发布时间】:2020-12-1207:50:02【问题描述】:我正在使用buefy的b-taginput和lodash的debounce方... 查看详情

gsl 多变量数值积分

】gsl多变量数值积分【英文标题】:gslmultivariablenumericalintegration【发布时间】:2018-12-2405:18:07【问题描述】:我一直在使用GSL集成包(gsl_integration.h)来尝试在某个限制[a,b]之间相对于x集成一些多变量函数f(x,y,z)。在这个例子中,我... 查看详情

如果不将 Transpose 设置为 GL_TRUE,OpenGL/GSL 将无法工作

】如果不将Transpose设置为GL_TRUE,OpenGL/GSL将无法工作【英文标题】:OpenGL/GSLnotworkingwithoutsettingTransposetoGL_TRUE【发布时间】:2018-08-0106:56:03【问题描述】:如果没有转换,GLM矩阵似乎无法工作glm::mat4proj=glm::ortho(0.0f,960.0f,0.0f,540.0f,-1... 查看详情

jchdl-门和开关层(gsl)

第一部分静态建模:拓扑模型 GSL层拓扑建模相对简单,由线和节点组成:线连接各个节点;节点上带有input/output/inout三种类型的接口(Port),供线连接; 一.Port 线与节点接触的地方为接口。 从微观层面看,线和... 查看详情

BigQuery 无法识别联接中子选择的字段

】BigQuery无法识别联接中子选择的字段【英文标题】:BigQuerydoesnotrecognizefieldofasubselectinajoin【发布时间】:2016-02-0815:51:11【问题描述】:我尝试将表B中的id和first_time与time_record组合并在表A中输入,加入id。但我得到了的错误a.time_... 查看详情

Visual Studio 无法识别 boost::asio

】VisualStudio无法识别boost::asio【英文标题】:VisualStudiodoesn\'trecognizeboost::asio【发布时间】:2021-03-1215:35:22【问题描述】:我下载了最新版本的boost。我通过执行“bootstrap”和“./b23”构建了二进制文件我添加了包含目录“$(SolutionD... 查看详情

Laravel - 包无法识别身份验证功能?

】Laravel-包无法识别身份验证功能?【英文标题】:Laravel-Packagecan\'trecogniseAuthfunctions?【发布时间】:2020-06-0214:32:36【问题描述】:我制作了一个包,用于计算网页上的访问者。目前我有一个单一的路线、控制器和视图,除了显... 查看详情

sympy 简化无法识别二项式的平方

】sympy简化无法识别二项式的平方【英文标题】:sympysimplifycannotrecognizesquareofabinomial【发布时间】:2021-05-0517:58:10【问题描述】:我有几个表达式,如果简化能够像屏幕截图中那样识别二项式的平方,那么简化将大大改善。有没... 查看详情

vsan集群无法识别磁盘处理

...后再新增2个节点时出现2个节点只能识别部分磁盘,其中无法识别的磁盘中包括SSD,导致无法创建磁盘组,无法并入vsandatastore。单节点共计8个磁盘,vSAN磁盘组无法识别闪存盘,但是节点物理层可以识别出闪存盘尝试了很多种方... 查看详情

使用回调将 C 库 (GSL) 包装在 cython 代码中

】使用回调将C库(GSL)包装在cython代码中【英文标题】:wrappingaClibrary(GSL)inacythoncodebyusingcallback【发布时间】:2014-07-0114:49:28【问题描述】:我是cython和c的新手。我想使用cython来加快我的代码的性能。我想在我的代码中使用gsl_integ... 查看详情

无法识别数值“%” - 雪花

】无法识别数值“%”-雪花【英文标题】:Numericvalue\'%\'isnotrecognized-Snowflake【发布时间】:2021-06-1616:08:39【问题描述】:这是我的查询中出现错误的一部分WHEND.ROLE_NAMELIKE\'%\'+B.Project_Phase+\'%\'ANDD.ROLE_NAMELIKE\'%ClinicalConsultant%\'THEND.RES... 查看详情

什么是sha1加密技术

...两条不同的明文信息A1、A2,其识别码B1、B2都不相同。2、无法通过逆向算法由识别码B倒推出明文信息A。MOONCRM的用户密码采用SHA1加密存储,即服务器上存储的只是由用户密码生成的识别码,而用户密码本身并没有存储在服务器... 查看详情

Ionic 和 Cordova 已安装,但命令无法识别

】Ionic和Cordova已安装,但命令无法识别【英文标题】:IonicandCordovaisinstalledbutcommandsnotrecognized【发布时间】:2016-01-0102:19:17【问题描述】:我全局安装了ionic和cordova,但无法识别命令。我正在使用Win7-64位安装了最新的Nodejs这是安... 查看详情

Rails 3 和 Paperclip:“'identify' 命令无法识别”

】Rails3和Paperclip:“\\\'identify\\\'命令无法识别”【英文标题】:Rails3&Paperclip:"notrecognizedbythe\'identify\'command"Rails3和Paperclip:“\'identify\'命令无法识别”【发布时间】:2011-10-2009:21:30【问题描述】:一些系统细节:MacOSXL... 查看详情

windows系统编译gsl2.7用于c语言编程(2022.5.8)(代码片段)

Windows系统编译GSL2.7用于C语言编程(2022.5.8)1、GSL(GNUScientificLibrary)1.1GSL简介1.2前人在Windows平台下已编译好的GSL库(版本太低)2、Windows下利用MSYS2编译GSL库2.1MSYS2简介2.2Windows系统安装MSYS22.3下载GSL源码进行编译构建3、基... 查看详情