人気ブログランキング | 話題のタグを見る
Cygwinのmake + VisualStudio
今日は技術系(なのか?)の話題で。しかもマイナー環境。


Windows上で、Makefile使ったプログラムをする羽目になった(!?)ので、
VisualStudio.net上から、cygwin付属のmakeを呼び出すための設定。


①cygwinのインストール

cygwinインストール時、develカテゴリを含めてインストール(makeが入る)。
このインストール画面でけっこう手こずった気がする。develの項目全体にinstallマークがつけばとりあえずOK。
以後、cygwinのコマンドをしょっちゅう使いそうだなって人は、ユーザー環境変数PATHにc:\cygwin\binを追加する。

②VisualStudioの外部ツールに登録

VisualStudioでツール→外部ツールを選択。新規ボタンを押して、タイトルは適当に"cygwinでコンパイル"とか。

コマンド欄で"C:\cygwin\bin\make.exe"(PATH設定していればmakeでもOK)、初期ディレクトリは"ソリューションディレクトリ"を指定。(当然、Makefileは同じ場所に作ってあります)

ついでに「出力ウインドウを使用」にチェックを入れる。


③ショートカットキー設定

オプションで環境→キーボードを選び、「以下の文字列を含むコマンドを表示」で"外部"と入力。外部コマンド1とか2みたいなのが、20個位見つかる。

自分の場合、ツール開くと以下のようになってたので、"外部コマンド6"について設定。

-----
ActiveX コントロール テスト コンテナ
エラー ルックアップ

・(間に3つ)

cygwinでコンパイル (←6番目)
-----

これで、ボタン一発コンパイルの準備が整った。



④いよいよコンパイル

<出力>
make: cygpath: Command not found

あれ!?

make.exeは認識してるが、中でcygpath.exeが呼べていないらしい。
ためしにcygwin上からソリューションディレクトリに移動、同様(のつもり)にmakeを呼ぶと、成功する。なんで??

cygwinの起動ではbash.exeをまず呼んでいるので、それを通さないとだめなのかなぁ、と思い、以下のように変更。

コマンド
C:\cygwin\bin\bash.exe

引数
-c "make"

するとコンパイル成功。やたー。

ついでに"cygwinでクリーン"も作成。引数を以下のように変えるだけ。
-c "make clean"


まー、makeを使う人はあんまりいないにしても、外部ツールからだと、exeかbatなら何でも起動できるから便利。
あと、bashから④と同じ要領でシェルファイル呼べるから、バッチファイルより高度なことも可能!うはうはだね(謎)



後で別のマシンで試したら、C:\cygwin\bin\make.exeだけでも通ってた。
うーん、色々環境入れてるうちに設定変わってたんだろうか~。謎。
by ryouke_jianji | 2006-08-03 00:42
<< FSWikiにアップロードした... 前期のヤマ、(ほぼ)終了 >>


Ryoukeの日常
by ryouke_jianji