2010-12-30 19 views
1

これは私がWindowsで使用されているものです:Linuxではclock_tが動作しませんか?

のLinuxで
#include <ctime> 
#include <iostream> 

int main(void) 
{ 
    using namespace std; 

    clock_t lastT; 
    lastT = clock(); 

    cin.get(); 
    cin.get(); 
    return 0; 
} 

私はエラーを取得する:

'clock_t' was not declared in this scope 

は、Linuxで、このためのいくつかの他のデータ型がありますか?

[実行]をクリックしてAnjuta IDEでコンパイルしています。

+3

これをどのようにコンパイルしていますか?私は 'g ++ -o clock clock.cpp'を使用していたので、clock.cppはあなたのコードと正確に一致し、うまくコンパイルされています。 g ++ v 4.5.1 –

+0

私のために働きます(Ubuntu 10.10 amd64) –

+0

IDEで[実行]をクリックしてコンパイルします。 –

答えて

1

私はそれを使用して解決しました:

int lastT; 

代わりに。残りは同じように動作します。

2

私はコピー/貼り付け/コンパイルしていますが、私はLinuxで何の問題もありません。

> uname -a 
Linux xxxhappy 2.6.16.46-0.12-bigsmp #1 SMP Thu May 17 14:00:09 UTC 2007 i686 
i686 i386 GNU/Linux 

は、詳細はman 3 clockを参照してください。

g++ -o main.o -c -g -Wall main.cpp 
g++ -o app main.o 

または1つのステップで:あなたのファイルは、コマンドラインからコンパイルすることができますmain.cpp命名されている場合は

あなたの実行ファイルがappという名前になります

g++ -o app main.cpp 

、あなたは何でもそれに名前を付けることができます欲しいです。

+0

Anjuta ideはコンパイルしません... –

4

あなたのIDE /コンパイラは準拠していません。 C++標準では、std名前空間(C++ 03、§17.4.1.2/ 4)にシンボルが置かれている点を除いて、<ctime>ヘッダーをC99ヘッダー<time.h>と同じにする必要があります。 C99§7.23.1/ 3ではclock_tを時刻を表現できる算術型と宣言するためには<time.h>が必要です。

実装でclock_tが宣言されていない場合、その実装はC++標準に準拠していません。

+0

これはgccが準拠していないことを意味します。 –

関連する問題