2013-02-04 7 views
6

が見つかりません私は学校のための基本的なC++プログラムをコンパイルしようとしていると私は、Macのターミナル(10.7.6)からそれを実行してみたときに、私はこのメッセージが表示されます。LD:ライブラリ-lgcc_ext.10.5

ld: library not found for -lgcc_ext.10.5 
collect2: error: ld returned 1 exit status 

私は間違いなく正しいディレクトリにあり、XCodeコマンドラインツールをインストールしました。ここに私のコマンドプロンプトがあります:

g++ -o chapter_2 hello_world.cpp 

ここは私の基本的なC++プログラムです。

#include <iostream> 

using namespace std; 

int main(){ 

    cout << "Hello world" << endl; 

} 
+0

libgcc_ext.10.5。※はシステムにありますか? – EHuhtala

答えて

0

私は、Macの男ではないんだけど、私は問題は、開発環境が誤って設定されているため、リンカは、ライブラリ、(libgcc_ext.10.5)を見つけることができないということである認識しています。私はそれが/ usr/libまたは/ usr/local/libまたはそのようなものにあると期待します。 ld --helpを試して、リンカー検索パスがどのように指定されているか調べることができます。 (ldはリンクを行うプログラムで、g ++はコンパイルが完了したらそれを呼び出します。)次にマシン上のライブラリを見つけて、そのパスをldの検索パスに追加します。

1

Juddが指摘したように、問題はリンカーがlibgcc_ext.10.5を見つけることができないことです。私には理想的な解決法はありませんが、私にとってはhomebrewを使用してgcc-4.8をインストールし、新しいgccを使用していました。

brew install gcc48 

私は今でもgcc49が存在すると確信しています。私は同じ問題を抱えていたのに、私はまだあなたが明示的に)それを変更しない限り、(古いgccのバージョンを指す$ gcc ...として、コンソールに$ gcc-4.8 ...を使用していたことに注意してください。

1

私は上の、この(問題なくコンパイルすることができました使い方自作ではインストールされ、現在はXCodeとgccの両方を持つOS X 10.8、

私は$ which g++をチェックすると、それは/usr/local/bin/g++を与えた

だから私は.bash_profileにこのパスを次のようにコメント。。

#PATH="/usr/local/bin:${PATH}" 

$ which g++/usr/bin/g++となり、そのバージョンはXCodeからのものであり、ld: library not found for -lgcc_ext.10.5エラーがないことを示します。

+0

私は同様の問題を抱えていましたが、これは私のために働いていました。完了したら、.bash_profileの行のコメントを外すことを忘れないでください。そうしないと、homebrewでインストールしたものにアクセスできなくなります。 –

関連する問題