2010-12-30 17 views
22

私のubuntuにシミュレータをインストールする必要があります。これはC++で書かれており、makeを実行しようとするとこのエラーが発生しますstrlen was not declared in this scope。このエラーを克服するための解決策はありますか?strlenがこのスコープで宣言されていません - C++

+0

完全なエラー出力を投稿してください。 – Electro

+0

誰かがこのエラーが特定のシステムで発生しない理由を知っています。 gcc 4.5.3 32ビットLinux? – gcbenison

+0

@gcbenison: 'gcc'は、" c "ライブラリ(つまり' cstring'、 'cstdlib'など)を必要としないCコンパイラです。しかし、C++コンパイラである 'g ++'にはそれらが必要です。 – Wolfer

答えて

42

これはそれを行う必要があります。

#include <cstring> 
+0

また、lrand48はこのスコープのエラーで宣言されていません。手伝って頂けますか? – Vivek

+1

@Vivek:[google](http://www.google.com/#&q=lrand48+include)によると、 '#include 'が助けになる – icecrime

1

あなたが必要なすべてのパッケージをインストールしたのですか?

  1. g ++ --versionを試して、何かがあるかどうかを確認してください。
  2. /usr/lib/include/string.hを確認してください。

これらのものがない場合は、正しいパッケージがインストールされているかどうかを確認する必要があります。

+2

本当に 'strlen()'にアクセスできないコンパイラなしで? – AttishOculus

+2

コンピュータの中に棲む魔法のエルフたち。彼らはまた、表示され、介入なしに消えているように見えるほとんどのエラーに責任があります。 –

6
#include <cstring> 

あなたのプログラムも::strlenの代わりstd::strlenを探していてもよいです。この場合は、

using std::strlen; 
関連する問題