私は本からC++を学び、Visual Studio 2012を使用しています。本の演習に従うために、内部にmain()関数を含む複数の.cppファイルを作成する必要があります。 毎回新しいプロジェクトを作成せずにプログラムをコンパイル/デバッグできる方法はありますか?
たとえば、簡単な「Hello、World!」と書いたとします。ファイルを作成してから、本当に単純な何かを作成することにした場合、単純なプログラムごとに新しいプロジェクトを作成することを回避できますか? Visual Studio 2012をコンパイラーとして使用する方法はありますか?必要なファイルを個別にコンパイルして実行できるように、1つのプロジェクト内にすべてを収めることができれば、私はそれを気に入っています。
ご協力いただきありがとうございます。
この回答を追加するのは遅すぎますが、将来の視聴者にとって役立つかもしれません。これは私がやったことです-
あなたが尋ねたのと同じ目的でVisual Studioを使用する方法を理解しようとしているときに、C++プロジェクトの場合、開始点は1つだけ、つまりmain()
関数が1つだけであることがわかりました。
したがって、毎回新しいプロジェクトを作成するのではなく、未使用のC++ファイル内の(main()
)関数の名前を別の名前に変更する(ファイル名など)に変更します。
例、main()
関数を使用して最初のプログラム_hello_world.cpp
_を最初に作成しました、それをコンパイルして実行し、使用できるすべてのことを学びました。
しかし今、私は他の何かを試すための新しいファイルを作成したいと思います(独自のmain()
関数を含む新しいファイル_learn_operators.cpp
_)。
したがって、_learn_operators.cpp
_をコンパイルして実行する前に、_hello_world.cpp
_のmain()
の名前をhello_world()
に変更してから、ビルド&以前と同じ方法でプロジェクトを実行します。ただし、これはプロジェクトの(新しい)開始点であるため、今回はこの新しいファイルのみが実行されます(つまり、main()
関数が含まれます)。
私がどこか間違っている場合、これが私を助けて修正することを願っています。
コンパイルするには、cppファイルを作成します。 cl
コマンドラインツールを使用して、 MSDNリンクを確認します。コマンドラインからネイティブC++プログラムをコンパイルします 例がありますcl /EHsc simple.cpp
準備ができました!
条件付きコンパイルを使用してこの問題を解決することもできます。ただし、プログラムごとに新しいプロジェクトを作成するよう努力することをお勧めします。
header.h
#include<iostream>
#define __HelloWorld__
HelloWorld.cpp
#include"header.h"
#ifdef __HelloWorld__
int main() {
std::cout << "Hello World" << std::endl;
}
#endif
program2.cpp
#include"header.h"
#ifdef __program2__
int main() {
std::cout << "Program 2" << std::endl;
}
#endif
これで、実行するプログラムを#define
から選択できます。
すべてのcppファイルを同じプロジェクトに異なるファイル名で追加してから、各ファイルを右クリックして、ビルドしたくないファイルを除外できます。
ただし、アプリケーションごとにプロジェクトを作成することをお勧めします。
または、エクササイズを実装する他のファイルで他の関数を呼び出す単一のメインファイルを用意して、何も処理する必要はなく、新しいエクササイズを新しいファイルに実装してメインから呼び出すだけです。
右パンのプロジェクトブラウザウィンドウでソリューション名を右クリックすると、既存のプロジェクトの下にプロジェクトを追加できるはずです。ただし、練習ごとに新しいプロジェクトを開始する方がはるかに適切です。 ここ あなたのための参照があります。