1

単純な C++ プログラムに問題があります...

プログラムをインストールしたいのですが、「c++ コンパイラは実行可能ファイルを作成できません」などのエラーが常に発生します...

ここで、単純な「hello world」プログラムをコンパイルしようとしましたが、ac コンパイラで c++ プログラムをコンパイルした場合と同じようにエラーが発生します (「`cout' undeclared」... iostream を含めましたが)...

私のマシンで g++ が動作しない場合、今はよくわかりません。

この問題を解決する方法を知っている人はいますか?

よろしくお願いします...
クリス


Paxの回答に応じて追加:

まあ、私のコードは大丈夫だと思います。別のマシンでコンパイルできます。名前空間 std を使用します...

だから、g ++の構成が一致していないなどの可能性はありません...?

4

5 に答える 5

3

g++ を直接呼び出してみましたか? 実行する場合:

g++

インストールされていない場合は、通常の無効なコマンドメッセージが表示されますが、インストールされている場合は次のように表示されます。

g++: no input files

それが表示された場合は、これを実行してみてください。

g++ -o output-file input-file

output-file と input-file を何かに置き換えます。複数の入力ソース ファイルを指定できます。

g++ がインストールされている場合は、動作するはずです。通常、何も設定する必要はありません。機能しない場合は、単にインストールされていない可能性があります。

debian ベースのマシンでは、単にapt-get install g++を他のシステムでも同様に簡単にインストールできるはずです。

于 2008-12-07T13:50:24.490 に答える
1

configure の実行時に問題を診断しようとするときの最大の助けは、config.log を見ることです。そのファイルに表示されている最後のエラーが、表示されているメッセージの原因です。configure が 1 つのエラーを出力する例をたくさん見てきましたが、ログは問題が完全に別のコンポーネントにあることを示しています (たとえば、チェックされる前にライブラリを使用しようとしたなど)。

于 2008-12-07T14:23:23.800 に答える
0

「間違った」コンパイラを呼び出す以外に(g ++の代わりにgccを使用します。Danによる回答を参照)、gccが正しくビルドされていても、g++が正しくビルドされていない可能性があります。

システムにgccだけが付属していて、後で誰かがg++を別のディレクトリにインストールした可能性もあります。その場合、新しいg++が正しく設定されていない可能性があります。

コマンドを実行してみてください

which gcc
which c++

コマンドラインから。たとえば、gccが/ usr / binにあるが、g++が/usr / local / binにある場合は、この問題が発生している可能性があります。バージョンが一致するかどうかを確認するように依頼することもできます。

gcc --version
g++ --version
于 2008-12-10T20:35:21.207 に答える
0

「`cout' undeclared」は、ソースにバグがある可能性が高いことを意味します。

ソースを表示するか、これをコンパイルして実行してください。

#include <iostream>
int main() { std::cout << "Hello" << std::endl; }

"g++ t.cc"上記のコードが (例 を使用して)コンパイルされない場合は、完全なエラー メッセージを表示し、 から出力し"g++ -v"ます。

コンパイルして実行する場合 (可能性は高い)、g++ に問題はなく、問題はソースにあります。ソースが別のマシンでコンパイルされるという事実はの意味もありません。コードは依然としてひどく壊れている可能性があります。

于 2008-12-08T02:22:15.020 に答える
-1

build-essentialパッケージをマシンにインストールして、再試行してください。これで同じ問題が修正されました。

sudo apt-get install build-essential
于 2011-09-03T23:59:47.247 に答える