解決済みの質問

質問No.657193
暇なときにでも
暇なときにでも
お気に入り投稿に追加する (0人が追加しました)
回答数3
閲覧数5434
nmakeの使い方
<環境> WIN98 VC++6.0

nmakeを始めて使いましたが以下のエラーが出ます。
DLしたコードはVC+5.0で作ったものです。

cl /c /W3 /O2 /Foobj\ /DWIN32 main.c
'cl' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
NMAKE : fatal error U1077: 'cl' : リターン コード '0x1'
Stop.



以下のようにして実行しました。

c:\”xxx.makのあるフォルダ”> ”nmake.exeのあるフォルダ”\nmake xxx.mrk

根本的に使い方が間違っているのでしょうか?
お分かりの方、お教えください。
投稿日時 - 2003-09-17 12:53:03

質問者が選んだベストアンサー

回答No.1
cl へのパスが通っていないからだと思います。

nmake を実行する前に,vcvars32.bat を実行してください。
パスその他の必要な環境変数の設定をしてくれます。

vcvars32.bat は nmake と同じ場所にあるはずです。

c:\"xxx.makのあるフォルダ" > "nmake.exeのあるフォルダ"\vcvars32.bat
c:\"xxx.makのあるフォルダ" > nmake xxx.mak
投稿日時 - 2003-09-17 13:39:35
この回答を支持する
(現在0人が支持しています)
お礼
回答ありがとう御座います。
教えて頂いたようにやってみた所、また次のエラーが出てしまいました。

何度も申し訳ないのですが、どのように対処すれば良いのでしょうか?

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.
投稿日時 - 2003-09-17 14:55:10
この質問は役に立ちましたか?
0人が「このQ&Aが役に立った」と投票しています

ベストアンサー以外の回答 (2)

回答No.3
#2 の「お礼」についてです。

> obj ディレクトリがあるかどうか確認してください。
> 無ければ作ってください。

というのは,
エクスプローラで "xxx.makのあるフォルダ" を開いて,
その中に obj という名前のフォルダがあれば OK です。
フォルダの作り方は分かりますよね?(右クリック,新規作成)
# コマンドラインから作るなら,mkdir obj です。

さらに,
obj という名前のフォルダを右クリック,「プロパティ」で属性を確認できます。

# ところで,特にコマンドラインから nmake を実行する必要がないのであれば,
# VC を起動してメニューの「ファイル」-「ワークスペースを開く」で
# xxx.mak を開くという方法もあります。
# ワークスペースに変換してくれるので,そのまま VC からビルドできます。
投稿日時 - 2003-09-17 21:51:24
この回答を支持する
(現在0人が支持しています)
お礼
回答ありがとうございます。
> obj ディレクトリがあるかどうか確認してください。
   ^^^^^^
ちゃんとディレクトリとなっていましたね。あとで気づきました。 

>そのまま VC からビルドできます。

えっえぇ~~。そうだったんですか。あんなに苦労したのに。
本当だ。出来ました。

ありがとうございました。

#DLしたプログラムの作者がDOSでnmakeしてください。と書いてあったので。。。
投稿日時 - 2003-09-17 22:07:46
回答No.2
#1 の「お礼」に関してです。

1) *.mak のあるディレクトリの下に,obj ディレクトリがあるかどうか確認してください。
 無ければ作ってください。
2) obj ディレクトリの属性が読取専用になっていないか確認してください。
3) obj ディレクトリの中身を空にしてください。
4) nmake を実行してください。
投稿日時 - 2003-09-17 19:34:03
この回答を支持する
(現在0人が支持しています)
お礼
回答ありがとうございます。
以下のようにして成功しました。

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しました。
投稿日時 - 2003-09-17 21:04:36
別のキーワードで再検索する
もっと聞いてみる

関連するQ&A

  • question

    nmakeでNMAKE : fatal error U1045Microsoft SDKをインストールしてウィンドウを作ろうとしていますが、取り込むべきライ...

  • question

    \'xjis.nls\'海外在住の友達からのお願いで... \'xjis.nls\'をメールしてと頼まれました。 ...

  • question

    fatal errorサイトをクリックしたらfatal error と表示されました。 fatal error てな...

回答募集中

この他の関連するQ&Aをキーワードで探す

別のキーワードで再検索する
-PR-

OKWaveのおすすめ情報

特集

同じカテゴリの人気Q&Aランキング

カテゴリ
C・C++

回答のついた最新のQ&A

カテゴリ
C・C++

rss

takkunruha

Q_iconc言語 時間測定2013-09-17 14:21:21

flex1101

Q_iconT-Kernelのtk_rel_wai()2013-09-16 21:07:05

episteme

A_iconrelease じゃないかしら2013-09-16 22:20:49

-PR-

ピックアップ

ノウハウ共有サイト

-PR-
-PR-