- ベストアンサー
nmakeの使い方
- VC+5.0で作成したコードをnmakeでビルドする際にエラーが発生します。
- clコマンドが認識されていないというエラーが発生します。
- nmakeを正しく実行する方法を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
cl へのパスが通っていないからだと思います。 nmake を実行する前に,vcvars32.bat を実行してください。 パスその他の必要な環境変数の設定をしてくれます。 vcvars32.bat は nmake と同じ場所にあるはずです。 c:\"xxx.makのあるフォルダ" > "nmake.exeのあるフォルダ"\vcvars32.bat c:\"xxx.makのあるフォルダ" > nmake xxx.mak
その他の回答 (2)
#2 の「お礼」についてです。 > obj ディレクトリがあるかどうか確認してください。 > 無ければ作ってください。 というのは, エクスプローラで "xxx.makのあるフォルダ" を開いて, その中に obj という名前のフォルダがあれば OK です。 フォルダの作り方は分かりますよね?(右クリック,新規作成) # コマンドラインから作るなら,mkdir obj です。 さらに, obj という名前のフォルダを右クリック,「プロパティ」で属性を確認できます。 # ところで,特にコマンドラインから nmake を実行する必要がないのであれば, # VC を起動してメニューの「ファイル」-「ワークスペースを開く」で # xxx.mak を開くという方法もあります。 # ワークスペースに変換してくれるので,そのまま VC からビルドできます。
お礼
回答ありがとうございます。 > obj ディレクトリがあるかどうか確認してください。 ^^^^^^ ちゃんとディレクトリとなっていましたね。あとで気づきました。 >そのまま VC からビルドできます。 えっえぇ~~。そうだったんですか。あんなに苦労したのに。 本当だ。出来ました。 ありがとうございました。 #DLしたプログラムの作者がDOSでnmakeしてください。と書いてあったので。。。
#1 の「お礼」に関してです。 1) *.mak のあるディレクトリの下に,obj ディレクトリがあるかどうか確認してください。 無ければ作ってください。 2) obj ディレクトリの属性が読取専用になっていないか確認してください。 3) obj ディレクトリの中身を空にしてください。 4) nmake を実行してください。
お礼
回答ありがとうございます。 以下のようにして成功しました。 1.VC++のバージョンを6.0から5.0にしました。 (結果的には必要無かったかな?) 2.vcvars32.batを実行したら、環境変数~のメモリが足りないとエラーがでました。 DOSプロンプトのプロパティで コンベンショナルメモリを環境変数の初期サイズを1024に設定しました。 3.>obj ディレクトリがあるかどうか確認してください。 >無ければ作ってください。 やり方が分からなかったので、main.cをVC++にて通常通りコンパイルし、エラーが出たがそのまま無視しました。 4.そこで、nmake xxx.makを実行したらうまく行きました。 5.outというフォルダに必要なファイルが作られていました。 6.exeファイルを作るとき、dllがないといったエラーが出たので、exeファイルより先にdllをnmakeしました。
お礼
回答ありがとう御座います。 教えて頂いたようにやってみた所、また次のエラーが出てしまいました。 何度も申し訳ないのですが、どのように対処すれば良いのでしょうか? cl /c /W3 /O2 /Foobj\ /DWIN32 main.c Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86 Copyright (C) Microsoft Corp 1984-1998. All rights reserved. main.c fatal error C1083: コンパイラの生成した ファイルをオープンできません ('obj\main.obj': No su ch file or directory )。 NMAKE : fatal error U1077: 'cl' : リターン コード '0x2' Stop.