Eclipse显示错误,但项目编译并执行
Eclipse shows error, but project compiles and executes
我在一个Eclipse MARS C++项目中工作。尽管Eclipse不断显示一些错误,但以下代码的编译和执行都非常完美。
代码:
#include <iostream>
#include <ratio>
#include <chrono>
using namespace std;
int main()
{
typedef std::chrono::duration<int> seconds_type;
typedef std::chrono::duration<int,std::milli> milliseconds_type;
typedef std::chrono::duration<int,std::ratio<60*60>> hours_type;
hours_type h_oneday (24);
seconds_type s_oneday (60*60*24);
milliseconds_type ms_oneday (s_oneday);
seconds_type s_onehour (60*60);
hours_type h_onehour (std::chrono::duration_cast<hours_type>(s_onehour));
milliseconds_type ms_onehour (s_onehour);
std::cout << ms_onehour.count() << "ms in 1h" << std::endl;
}
错误:
- 无法解析符号"duration"
- 无法解析类型"std::milli"
- 无法解析符号"ratio"
- 无法解析符号"duration_cast"
- 无法解析方法"count"
- "std::endl"的重载无效
我认为所有的错误都是关于包含的东西。
构建时的消息:
Invoking: Cross G++ Compiler
g++ -D__GXX_EXPERIMENTAL_CXX0X__ -O0 -g3 -Wall -c -fmessage-length=0 -std=c++11 -MMD -MP -MF"src/Teste.d" -MT"src/Teste.o" -o "src/Teste.o" "../src/Teste.cpp"
Finished building: ../src/Teste.cpp
Building target: Teste
Invoking: Cross G++ Linker
g++ -o "Teste" ./src/Teste.o
Finished building target: Teste
我已经在"项目">"属性">"C/C++构建">"设置">"其他"上放置了-std=c++11
。
我已经把__GXX_EXPERIMENTAL_CXX0X__
放在C/C++GENERAL上了>路径和符号>符号。
我已经清理并重建了它,关闭并重新打开了它(项目和eclipse),但什么都没发生。这是一个1文件的项目,Eclipse如何在其中找到8个错误并仍然编译和执行它?我想只是编辑在惹我。有人能帮我摆脱这些错误吗?
不要相信Eclipse、Visual Studio或任何其他IDE。他们用来在编辑器中为您提供"红色歪歪扭扭"的解析器是,而不是真正的编译器。它有不同的bug,有不同级别的标准遵从性,解析代码的时间非常少(因为它是交互式的)。它将给出错误的结果。
编辑器中的解析器很好,很有用;方便的工具。但它们是而不是编译器本身,它们不应被解释为仅仅是有用的提示。
相关文章:
- 如何确认我的constexpr表达式实际上已经在编译时执行
- 我编写了代码将十进制分数转换为其二进制等效数.它编译得很好,但在执行时挂起
- 如何使字符串出现在编译的二进制可执行文件的开头?
- 在Linux上使用Clang / OLLVM交叉编译helloworld Windows可执行文件时的问题
- 尝试在Windows上执行C++时出错(通过MinGW编译)
- 编译的C可执行文件被Windows defender检测为病毒
- 编译的代码不执行文件写入
- 在C++中执行 N 阶乘编译时间的 3 种不同/相同方法
- C++项目编译强制使用 /clr 选项,尽管在没有公共语言运行时支持的情况下执行它
- 编译器如何在编译时执行数据绑定?
- Qt Creator 在执行步骤 "make" 时出现编译错误,-fno-stack-limit
- CPP 中 z3 的编译和执行命令?
- CMake 添加和删除宏定义以编译共享库/可执行文件
- 编译可执行文件之前未生成的文件
- 编译并执行C#程序中的C++代码
- 使用共享库编译可执行文件时仅链接所需的符号
- 在C++中编译/执行 GDAL 时出现问题
- c++11用户定义的字面量,与编译/执行二分法冲突
- 在Emacs中保存-编译-执行c++程序的快捷方式
- Raspi 的交叉编译 - 执行程序以 "Segmentation fault" 结束