私はC++の学習を始めたばかりで、見つけたコードの出力を表示するために このメソッド 。これは、Structure of aProgramme.cppを最初にコンパイルしたときに機能しました。
#include <iostream>
using namespace std;
int main ()
{
cout << "Hello World!";
return 0;
}
それは私に.exeを与え、それを開いて実行し、素敵な「HelloWorld!」を取得しました。表示されますが、2番目のVariables.cppをコンパイルしようとすると:
#include <iostream>
using namespace std;
int main ()
{
int a, b;
int result;
a=5;
b=2;
a=a+1;
result=a-b;
cout << result;
return 0;
}
.exeをまったく取得しなかったため、開く方法がわかりませんでした。 (関連するすべてのファイルを削除した後)Programme.cppの構造を再コンパイルしようとしましたが、今では.exeも作成されません。作成されるファイルは、Structure of a Programme.oとVariables.o(サブディレクトリobj\Debug内)のみです。
似ていると思われる唯一の質問は this でしたが、問題は少し異なっているようで、ファイルの1つを削除しようとしました(したがって、Programme.cppの構造またはフォルダー内のVariables.cpp)と私はまだ同じ結果を持っていました。
また、どちらのファイルにもコンパイラエラーはなく、プログラムの構造が機能している場合と機能していない場合のコードブロックのオプションを変更したとは思いません。
ありがとう、
ダルキウス
編集:ログの作成:
Compiling: Structure of a Programme.cpp
Process terminated with status 0 (0 minutes, 0 seconds)
0 errors, 0 warnings
Compiling: Variables.cpp
Process terminated with status 0 (0 minutes, 0 seconds)
0 errors, 0 warnings
編集2:「完全なコマンドライン」ビルドログ:
Build started on: 14-12-2011 at 07:57.39
Build ended on: 14-12-2011 at 08:01.03
-------------- Clean: Debug in cplusplus.com Tutorial ---------------
Done.
mingw32-g++.exe -Wall -g -c "D:\My Documents\0HOME\Programming\C++\Code Blocks\cplusplus.com Tutorial\Structure of a Programme.cpp" -o "obj\Debug\Structure of a Programme.o"
Process terminated with status 0 (0 minutes, 1 seconds)
0 errors, 0 warnings
mingw32-g++.exe -Wall -g -c "D:\My Documents\0HOME\Programming\C++\Code Blocks\cplusplus.com Tutorial\Variables.cpp" -o obj\Debug\Variables.o
Process terminated with status 0 (0 minutes, 0 seconds)
0 errors, 0 warnings
更新されたビルドログを見ると、最終的な実行可能ファイルを生成するためのリンク手順が実行されていないようです。確認できることがいくつかあり、試してみるアイデアがいくつかあります。
cd "D:\ My Documents\0HOME\Programming\C++\Code Blocks\cplusplus.comチュートリアル"
g ++。exe-Wall -g Variables.cpp -o Variables.exe
最後に、これは、ログが正しく構築されている場合のログの概観です。
EXEファイルは、ほとんどの場合、コードを実行するたびにビルドされます。 C++プログラムファイルをインストールまたはコピーしたプログラムのexeファイルを見つけてみてください。
私はコードブロックにあまり精通していませんが、コンパイラーが何をしているのかを説明することで助けようとします。作成する.oファイルはオブジェクトファイルと呼ばれます。高レベルでのコンパイルは次のように機能します。
1)ソースコードはコンパイラによってコンパイルされます。
2)コンパイラはコードを解釈し、(一般的にはとにかく)ファイルごとにオブジェクト(または.oファイル)を作成します。
3)これらのファイルは、「リンカー」と呼ばれるコンパイルプロセスの一部で「リンク」されます。
4)最後に、リンカは.exeファイルを出力します。
もちろん、これにはさらに多くの機能があります(ライブラリファイル、コンパイル済みdll、前処理など)が、目的としては、始めたばかりの場合は上記のように考えることができます。
私の推測では、コードブロックリンカーを使用して誤って何かを変更したか、ファイルをリンクするために間違った場所を探しているか、リンカーでさえエラーをスローしている可能性があります(ほとんどのIDEはこれを通知します)。繰り返しになりますが、残念ながら私はコードブロックにあまり精通していません。
コードブロックに「クリーン」をトリガーする方法がある場合は、それも試して再構築を試みる必要があります。これにより、前回のビルドで残っている可能性のある古いファイルがすべて削除(クリーンアップ)されます。
プログラムをビルドした後、ビルドログに「実行中:」が表示されます。ここには、プログラムが作成したばかりの.exeファイルのパスがあります。