2009-03-17 17 views
8

Windows XPでCode :: Blocksを使ってC++とAllegroを学びました。しかし、私はどのように "IDE"を使わずに "手動で"プログラムをコンパイルするのか分かりません。VimからC++をコンパイルしてデバッグしようとしています

Vimからコンパイルするには、makeprgをgccに設定していますが、makefileも必要です。それは何ですか?私はどのように書きますか?私はAllegroのようなライブラリを使うことができるメイクファイルですか?

また、私はCBデバッガが大好きです(私はgdbを使用しています)。 Vimと似たようなことが可能ですか?

ありがとうございます。

+2

IDEを使わずにプログラムをコンパイルする(またはライブ!)ことを本当に習得したいのであれば、私は素晴らしいことだと思いますが、そこに戻って計画していても、Windowsではないものから始めることをお勧めします。 –

答えて

4

必ずしもが必要です。メークファイルですが、UNIXライクなシステムでコードをコンパイルするのが望ましい(そしておそらくは最も安全な)方法です。

GNU MakeにWindowsポートがあるかどうかわかりませんが、おそらくCygwinで実行できます。 compile directly from vim

また

、この質問を参照してください。

メイクとのMakefileはGNUの詳細については、必須編集:私はWindowsやCygwinを使用しません。その部門でepochwolf's adviceを取ることができます。

+1

NOOOooo ... cygwinは絶対に避けてください。遅くて醜いですし、ネイティブのWindowsアプリに比べて利点はありません。 gccと関連ツールをウィンドウに表示するには、 'mingw'と 'msys'が必要です。それらにはmakeのネイティブバージョンも含まれています。 – davr

+0

ねえ、私はちょうど言っています。私はCygwinが良いかどうかわからない、私はWindowsを使用していない。 =) –

1

EDIT1:あなたは役に立つかもしれません数しおり:いくつかの

​​(この1つはgccの使用としますので、それは右のあなたの路地次第でなければなりません)

Another one

Win port GNUのutilsについてCanは言及しました。私はこれらを個人的に使用しており、Windowsプラットフォームでは問題はありませんでした。


はい、メイクファイルなしでコンパイルできます。あなたのプログラムが単純な場合(例えば、1つのファイルのみ)、コンパイラを呼び出して同じ行にプログラムの名前を入れることでコンパイルすることができます(gccとの関係を覚えていない)。もちろん、これを簡単にするために、これはvimの中のキーにマッピングできるので、コマンドプロンプトに戻る必要はありません。

もっと大きなプロジェクトで作業している場合は、いくつかのファイルなどで構成されており、makefileよりも役に立ちます。それはファイルを "検索"し、依存関係を判断し、ビルドにそれらを含めるか、ソースファイルを1つのディレクトリに置き、結果として得られるexeファイルを別のディレクトリに入れます。だから、コンパイルするだけではなく、リンクとビルドシステムのほうがはるかです。 Can Berk Guderの答えに言及されているGNU makeは一般的なものですが、 "makefileを作る"(makefileはそのような操作のための同義語の一種になりました)ためのかなりの数の取り組みがあります。このlinkのその他のオプションをご覧ください。vimの歴史の中で、vimは良いサポートをしていますが、他のものも簡単に使うことができます。VimWikiaに多くのテキストがあります。

まあ、それはちょうど私の0.2ユーロ:)

4

MinGWをご覧ください。 gccとmakeだけが必要な場合はCygwinを避けます。 MinGWとMSYSの両方が必要です。 MSYSにはmakeのWindowsポートがあります。

windowsコマンドラインでより多くのUNIXユーティリティに興味があるなら、CoreUtilsをお勧めします。学習のための

manual

3

私はメイクファイルやデバッグの専門家ではないんだけど、私はVimはあなたが多くのことを行うことができますことを知って参照します。 たとえば、gccでファイルをコンパイルする場合は、通常の方法とあまり変わりありません。ノーマルモードタイプでは:実際には

:!gcc file.c -o file 

あなただけ追加することにより、(ほぼ)すべてのシステムコマンドを使用することができます「!」あなたのコマンドの前に。 GDBはまた、私はそれはあなたを助けることを願っていますVimの

:!gdb 

で動作します。

1

GNU makeがインストールされている場合(cygwinまたはmingw with windowsの場合)、シングルファイルプロジェクト用のmakefileを書く必要はありません。 vimから:makeを実行するだけで十分です。

プロジェクトが複数のファイルで構成されている場合は、メイクファイル(またはscons、aap、(b)jam、ant、...など)を作成し、&makeprgを最終的に調整し、 vimの:makeに電話してください。関連カテゴリ:vimtipsを参照してください。もちろん、他の外部ツールを実行したようにコンパイラを実行することはできますが、エラーの行にジャンプする可能性は低くなります。

NB:win32版のvimとgcc-cygwinを使用している場合は、取得したエラーメッセージを翻訳する必要があります。私はこの目的のためにperlスクリプトを維持していましたが、現在はbigger suiteの一部です(まだベータ段階です)

デバッグに関するご質問は、すぐにvimのWindows下で行うことはできません。これまでに統合できる唯一のデバッガはgdbですが、Linuxの下でのみです。 pyclewn(.sf.net)プロジェクトを参照してください。

2

vimとdevenvを統合するには、Visual Studioのdevenvを使ってvimでプロジェクトをコンパイルします。コマンドは次のように

Devenv SolutionName /build SolnConfigName [/project ProjName [/projectconfig ProjConfigName]] 

Typicatllyは、devenvをはCに位置すべきである:\ Program Files \ MicrosoftビジュアルStudio 8 \ Common7 \ IDEを。それをvimから呼び出し可能にする環境のパスに設定します。また、コマンドラインビルドツールdevenvによって投げられたエラーメッセージをvimに認識させる必要があります。あなたのvimrcに以下の行を入れてください:

" Quickfix mode: command line devenv error format 
au FileType cpp set makeprg=devenv.com\ /Build\ Debug\ *[SolutionName]* 
au FileType cpp set errorformat=\ %#%f(%l)\ :\ %#%t%[A-z]%#\ %m 

次に、makeを使ってvimからプログラムをコンパイルしてビルドします。

0

私はデバッグについてはわかりませんが、コンパイルして現在のプログラムを実行する簡単な方法を知っています。私は小さなvimプラグインを作成しました。

http://pastebin.com/qc5Zp2P7

それはあなたがG ++コンパイラを使用していることを前提とします。そうでない場合は、使用しているコンパイラの名前を変更してください。このファイルをインストールした場所に保存してください

現在開いているプログラムをコンパイルして実行するには、非編集モードでshift-eを押してください。

関連する問題