Cygwinでdevenv.exe起動時、ビルド状況を表示する方法はあるでしょうか?
例えば今、t.sln及びプロジェクト一式(.vcproj .cpp その他)があるとします。それを
DOS窓から devenv t.sln /build Debug と打つとデバッグビルドが始まり、ビルド状況
(コンパイルしています...等)も出ます。
が、Cygwinで同じ事をすると、ビルドは同じように完了しますが、ビルド状況が出ませ
ん。無言です。> や 2> でリダイレクトしても、出力ファイルは虚無です。
そういう物なのかな と思いましたが、最後のあがきで質問させて頂きました。
どうぞ宜しくお願い致します。
環境:VS2005Pro、WinXP + 全パッチ
なぜCygwin上でdevenvを動かしているのかなぁと言うのが疑問点ですね。
そもそもCygwinでdevenv動かした場合の動作保障ってあるのかなぁ。
DOS窓からと言うのならわかるんだけど、なぜにCygwin?
動作保証がない環境で動かした場合はその結果も保障されないと思うので
やっている事に果たして意味があるのかと言うのも気になるところです。
動けばOKというレベルの話なら良いのでしょうけれど。
回答、有難うございます。
DOS窓でなくCygwinを使う理由は、「UNIX専用コマンドを多用する必要がある為」です。
UNIXコマンドを駆使している大きなシェルスクリプトが既存で、それをDOSのバッチファ
イル等に移植する作業を避ける為です。
当方でCygwinで動かす価値があるのは明白です。時間の浪費を防げる為です。
出力ウィンドウ内容をCygwin窓にリダイレクトできない事以外はうまくいっています。
動けばOKというレベルの話です。今回は諦める事にします。
諦めきれなかったようです。
http://oshiete1.goo.ne.jp/qa3332271.html
というわけで、レスついていますが…
「devenv.com」と明示的に拡張子を指定してやれば行けるようです。
devenv.com /?
でヘルプが表示されるのを確認しました。(会社で…ですが)
Windows系ではaaa.comとaaa.exeがある時、拡張子を指定しなかった場合はaaa.comが優先。
Cygwinでは同じ条件の時aaa.exeが優先になるようです。
devenv.exe t.sln /build Debug
とすると、Cygwinと同じ結果になりませんか?
# more.comをmore1.comという名前にして適当な作業ディレクトリにコピー、
# printf(more1.exe\n);するだけのコンソールアプリをmore1.exeとして、
# 同じ作業ディレクトリに置いた上で、DOS窓とCygwinのコンソールで試してみました。
教えてgooは会社から見えないのでどんな展開になったの確認できませんが。(^^;
動けば良いというレベルと明言していたのでたまたまさん的にはOKとしても
実際の話、Cygwin上で動かした場合の扱いってどうなるんでしょうねぇ。
Microsoftにしてみれば、普通に動かせばいいだろうと言う話になると思うので
Cygwin上で動かして結果おかしな動きをしたとしても保障対象外となりそうな
気がするんですけれど。
いやー、諦めきれませんでした^^;
でも粘ったおかげで解決方法を知る事ができました(当方で成功を確認できました)。
>Cygwinでは同じ条件の時aaa.exeが優先になるようです。
貴重な情報、有難うございます。Win(MS-DOS)系はよく知られている情報ですが、Cygwin
は知りませんでした。まだまだ理解が浅いようです。
>devenv.exe t.sln /build Debug とすると、Cygwinと同じ結果になりませんか?
期待通り、.exeが無い時と同じ挙動になります。黙って仕事をします。
>Cygwin上で動かして結果おかしな動きをしたとしても保障対象外となりそうな気がする
その時に対応を決めれば良いかな、と考えています。おかしな動きが軽い災いと考え
ている為です。