gpt4 book ai didi

eclipse - Eclipse Indigo CDT:函数无法解析

转载 作者:行者123 更新时间:2023-12-03 11:43:05 25 4
gpt4 key购买 nike

这感觉很愚蠢,但是已经过了两天……从Ubuntu 10.04升级到10.11并从Eclipse Helios升级到Eclipse Indigo之后,我遇到了以下问题:

问题描述:

我正在尝试在math.h中使用一个称为isinf()的函数,但问题也发生在诸如isnan()之类的问题上。该程序在命令行上使用make进行编译,在eclipse中使用build进行编译。但是,如果我在eclipse中打开程序文件,则会报告它无法解决isinf()函数调用。如果我只是将程序内容插入新项目和新源文件中,则会立即出现错误。在11.04下使用Eclipse Helios CDT不会发生此问题

问题:

为什么只在打开程序文件时报告这些错误,而在编译程序时却没有报告这些错误?为什么未从命令行运行未检测到的错误?有可用的解决方案/解决方法吗?

版本信息

Linux Ubuntu 10.11 64位
Eclipse CDT Indigo,服务版本1,内部版本ID:20110916-0149
(还使用Eclipse EE Indigo –如果有所不同)
GNU Make 3.81
gcc 4.6.1-9Ubuntu3

复制:

请在下面找到您需要复制的两个文件:

步骤0。验证在Eclipse之外一切正常
复制附件的源文件并制作文件
建立目录,例如Mkdir FunTest
将源文件保存为“Test.cpp”,并将makefile保存为“makefile”
打开命令提示符并导航到目录,例如FunTest
输入“make”
输入./TestOut
程序响应“不是无限的”


步骤1. 在Eclipse中创建项目
打开Eclipse
选择文件|新建|使用现有代码的MakeFile项目
单击浏览–导航到目录(FunTest),然后单击确定。
从工具链选择器中选择“Linux GCC”
点击完成

步骤2。查找错误
单击全部构建(Ctrl-B)–项目构建无错误
在项目资源管理器中打开项目以在目录中显示文件
双击文件“Test.cpp”
注意无限大的行测试旁边的错误图标
请注意2错误消息:

Semantic error: Function _isinff could not be resolved 
Semantic error: Function _isinfl could not be resolved

Test.cpp:
include <math.h>

int main(int argc, char **argv)
{

int TestNum = 10;

if (isinf(TestNum) == 0)
printf("Not infinite\n");


return 0;

}

生成文件:
# Specify the compiler
CC = g++

# Specify the compiler flags
CFLAGS += -c

# Specify the files making up the application
SOURCES = Test.cpp
OBJECTS = $(SOURCES:.cpp=.o)
EXECUTABLE = TestOut

all: $(EXECUTABLE)

$(EXECUTABLE): $(OBJECTS)
$(CC) $(LDFLAGS) $(OBJECTS) $(LDLIBS) -o $@

.cpp.o:
$(CC) $(CPPFLAGS) $(CFLAGS) $< -o $@

install:
@echo "Build complete!"

最佳答案

即使代码在Eclipse Indigo中可以很好地编译,我也遇到过CDT报告错误的类似问题。

Project > Properties > Settings > Binary Parsers > "GNU Elf Parser"



对我来说有帮助。我检查了“Elf Parser”。

关于eclipse - Eclipse Indigo CDT:函数无法解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7966976/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com