RE 00198 RE 00191 VC++のnmake.exeを秀No.00202
KojiMatsui さん 00/12/01 05:43
 
 K.Matsuiです。
ご回答誠に有難うございます。

Ms.きいろいまふらあ wrote in hidesoft.7:00199|.
> directory というのは、「今開いているファイルの格納されている
> ディレクトリ」を表す予約語です。
> c:\hogehoge\mogemoge.cppというファイルを開いているときには、
> directory は "c:\hogehoge" という文字列を返します。
分かりました。そうするとdirectoryのままでいいんですね。
で、"\\Makefile\""の箇所なんですが
Makefileはcppファイルと同フォルダに在るdspという拡張子のファイルを使用しま
す。
で、ファイル名は
mogemoge.cppと同名で
mogemoge.dsp
となっています。
このような場合、"\\Makefile\""の箇所は何と記述すればいいのでしょうか?


_____________________________________
xxxxxxxxxxx@mb2.seikyou.ne.jp
_____________________________________

[ ]
RE:00202 RE 00198 RE 00191 VC++のnmakeNo.00203
ひろ さん 00/12/01 11:53
 
 KojiMatsui さん今日は、ひろです。
> このような場合、"\\Makefile\""の箇所は何と記述すればいいのでしょうか?
"\\mogemoge.dsp\""
にすればよいと思います。

[ ]
RE:00203 RE 00198 RE 00191 VC++のnmakeNo.00204
きいろいまふらあ さん 00/12/01 13:34
 
KojiMatsuiさん、ひろさんこんにちは。

>> このような場合、"\\Makefile\""の箇所は何と記述すればいいのでしょうか?
>"\\mogemoge.dsp\""
>にすればよいと思います。

*.cppの*の部分を取り出さなきゃいかん、て話ですね。

//ねんのためいま開いているファイルの拡張子を…
if(rightstr(basename,4)!=".cpp"){
  message "拡張子がcppでないので終了";
  endmacro;
}
//…とチェックした上で…
$mybasename = leftstr(basename,strlen(basename)-4) + ".dsp";
//…とdspファイルの名前を作って…
run "\"D:\\Prog(中略)\Bin\\nmake.exe\" \""
    + directory + "\\" + $mybasename + "\"";
//…としたらよいでしょう。

おためし下さい。

あと、directoryですが、ルートディレクトリの場合、
末尾に「\」がついてるらしいです。念のため。

c:\hoge\moge.txt の directory→「c:\hoge」
c:\moge.txt の directory→「c:\」

[ ]
RE:00202 RE 00198 RE 00191 VC++のnmake.No.00207
える さん 00/12/02 21:44
 
どうでもいいことですが、

>で、ファイル名は
>mogemoge.cppと同名で
>mogemoge.dsp
>となっています。

Microsoft VC5/VC6 の *.dsp をコマンドラインから構築するには
たとえば VC6 の標準位置にインストールしてれば、

C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin\MSDEV.EXE FOO.DS
P /MAKE BAR

とします。
この場合、FOO.DSP 内にある構成 BAR が構築されます。たとえば、

MSDEV test.dsp /make "test - Win32 Release"

などとすれば test.dsp の構成 "Win32 Release" が構築されます。

また、オプションから「 makefile のエクスポート 」を有効にしておくと
自動的に test.dsp を構築するための test.mak が生成されるので、

nmake /f test.mak CFG="test - Win32 Release"

などとします。
詳しいことは VC5/VC6 のヘルプをご覧ください。

[ ]