私はEclipse MARS C++プロジェクトで作業しています。 Eclipseが何らかのエラーを表示しているのに、次のコードは完全にコンパイルして実行します。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;
}
エラー:
- シンボル '期間は' を解決することができませんでした。
- タイプ 'std :: milli'を解決できませんでした。
- シンボル '比率'を解決できませんでした。
- シンボル '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++ BUILD]> [設定]>雑に-std=c++11
を入れています。
私は既に__GXX_EXPERIMENTAL_CXX0X__
をC/C++の一般的な>パット記号とシンボル>記号に入れました。
私はすでにそれをきれいにして再構築し、閉じて再オープンしましたが(プロジェクトとEclipse)、何も起こりません。これは1つのファイルプロジェクトですが、Eclipseはどのようにして8つのエラーを見つけてコンパイルして実行できますか?私はそのエディタだけが私を乱していると思う。誰も私がエラーから解放されるのを助けることができますか?
実際のコンパイラエラーが発生していますか、それとも行/変数が何らかの形で強調表示されている他のIDEと似ていますか? – NathanOliver
コンパイルエラーではありません。それは、IDEに不満があるだけです。 – user3785008
定数変数が変更されない場合は、 'const unsigned int hours_per_day = 24;'のように型に 'const'を接頭辞として付ける必要があります。 –