web-dev-qa-db-ja.com

Microsoft Visual StudioでGCCを使用する方法は?

私は非常に大きなプロジェクト(数千行)を作成しているので、Notepad ++は使用しません。 IDEを使用すると、非常に簡単になります。MicrosoftVisual Studioの経験があり、気に入っています。MicrosoftVisual Studio内からCygwinのGCCを使用する簡単な方法はありますか?

あるいは、NetBeansとEclipseのほかに、GCC用の他の優れたWindows IDEはありますか? (情熱を持って両方とも嫌いです。)

38
MasterGberry

ここにはいくつかの方法があります。

オプション1:カスタムビルドツールを作成する

Visual Studio 2005以降では、 カスタムビルドツールの登録 を使用できます。彼らはIDEある形式のファイル(たとえば.cppファイル)を別の形式(たとえば.objファイル)に変換する方法を伝えます。

私が知る限り、GCCでこれを行った人はまだいません。そして、それを自分で行うには、COMコードを書く必要があります。これは、たぶん1つのプロジェクトだけに飛び込むには深すぎるプールです。このプロジェクトを引き受けるには、説得力のある理由が必要です。

その後、各プロジェクトを手動で調整して、デフォルトではなくカスタムビルドツールを使用するように指示する必要があります。これは、Visual C++が既に知っているファイル名拡張子(.cpp)を使用しているためです。複数のモジュールからビルドされた単一の実行可能ファイルに対してVC++コンパイラとg ++コンパイラを混在させようとすると、問題が発生します。

プラス面として、もしあなたがオープンソースプロジェクトを始めたいと思っているなら、これは私にとって良いもののように思えます。すぐに大きなユーザーベースを集めると思います。

オプション2:Makefileプロジェクト

  1. Visual Studioを起動し、「ファイル」>「新規プロジェクト」と言います。

  2. Visual C++セクションで、Makefile Projectを選択します

    Visual Studio Expressを使用している場合は、プロジェクトをソース管理にチェックインするためのボックスをオンにしないでください。 Visual Studioにお金を払っていない場合は、おそらくMicrosoftの高価なチーム「ソリューション」にお金を払わないことを選択している可能性があり、VSEはサードパーティをサポートしていません [〜#〜] vcs [〜#〜 ]AnkhSVN のようなプラグイン Subversion の場合。

  3. Makefileプロジェクトウィザードに入力します。

    • ビルドコマンドライン:make
    • クリーンコマンド:make clean
    • コマンドラインの再構築:make clean all

Output(デバッグ用)フィールドはそのままにします。プロジェクト名の後に実行可能ファイルの名前を付けない、または実行可能ファイルの名前を付けないなどの奇妙なことをしない限りプロジェクトの最上位以外の場所。

残りのフィールドは、それが何であるのか、なぜそれらを変更したいのかを知らない限り、そのままにしておきます。例として、プリプロセッサ定義行に-Dフラグを渡して、デバッグ出力とリリース出力を別々に取得することを選択できます。あなたがこれを望んでいることがわかっているなら、あなたはそれを設定する方法を知っているので、それを説明するためにこの長い答えをさらに長くするつもりはありません。 (そして、方法がわからないがしたい場合は、おそらく新しいSOの質問!)

リリースビルドについても同じ一連の質問が表示されます。デバッグビルドとリリースビルドを別々に処理する場合は、ここで変更を加えます。

これをすべて行った後でも、Makefileを作成し、PATHmake.exeを追加する必要があります。デバッグとリリースの質問の場合と同様に、その詳細レベルに進むと、この回答がトピックから外れます。

見た目はasいですが、カスタムビルドツールを作成するよりも簡単です。さらに、最終的にUnixに移植する必要があると言うので、とにかくMakefileが必要になります。

オプション3:クロスプラットフォーム開発

あなたはこのプログラムをある時点でUnixに移植したいと言いますが、それはあなたが今WindowsでGCCを使わなければならないという意味ではありません。 WindowsではVisual C++、* ixシステムではGCC/Makefilesの下でビルドするようにプログラムを作成することは非常に可能です。

VSプロジェクトファイルとMakefilesを単一の共通ソースから生成することで、これを簡単にするツールもいくつかあります。私はたまたま Bakefile を使用していますが、 CMake は近年人気が高まっています。 SCons もこの作業を行い、おそらくBakefileよりも人気があります。確かにもっと頻繁に更新されます。

32
Warren Young

私は未来から来ました。

Win/Lin/Macで Visual Code を使用し、 Choclatey からインストールされたMinGWを使用して、C/C++ツールチェーンを保持しています。 (これは私の健全性のために行われました-あなたが望むようにGDBとGCCをインストールしてください)

MSの奇妙なJSONメイクファイルを使用して、GCCとIntelliSenseでGDBを実行しました。いつか、誰か(あなた?)はGradleまたはPythonスクリプトを生成してこれらを生成します;今のところ ドキュメントのオンライン例 は動作しているようです。

3種類のJSONが必要なようです。

  • 単一の IntelliSense ワークスペース全体の構成
  • デバッグ構成 デバッグする各バイナリのエントリ
    • これらはビルドタスクを呼び出すことができます
  • ビルドタスク アーティファクトごと
    • 「必須」または「依存性」のことを考えているわけではありません。ごめんなさい
1
pal