VC++ コンソールでコンパイル

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ぽんた

VC++ コンソールでコンパイル

#1

投稿記事 by ぽんた » 14年前

これまでcygwin上のgccでプログラムしてきましたが、今回
OS : Windows7
コンパイラ名 : VC++ 2008 Express Edition
で、次のような状況のプログラムをコマンドラインでコンパイルしてみようと思いました。
main.c
sub1.c
sub2.c
main.cがsub*.cを参照する場合、通常Makefileを作成して作業しますが、
それっぽいMakefileを作って同じようにMakeすると

 'make'は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。

を表示するため、VC++のコンソールコンパイル自体がそういう仕様ではない
ようです。VC++統合環境のヘルプやネット上で関連する情報を探していますが、
なかなかみつからず困っています。

どなたか事情に明るいかた、簡単にご説明いただけませんか。
一押ししていただければ検索して詳細は分かると思います。

ぽんた

Re: VC++ コンソールでコンパイル

#2

投稿記事 by ぽんた » 14年前

すみません、自己解決しました。
VC++では、 nmake を使う、でした。
お騒がせしました。

YuO
記事: 947
登録日時: 15年前
住所: 東京都世田谷区

Re: VC++ コンソールでコンパイル

#3

投稿記事 by YuO » 14年前

書いている間に自己解決されたようですが,一応。
ぽんた さんが書きました:それっぽいMakefileを作って同じようにMakeすると

 'make'は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。

を表示するため、VC++のコンソールコンパイル自体がそういう仕様ではない
ようです。VC++統合環境のヘルプやネット上で関連する情報を探していますが、
なかなかみつからず困っています。
VC++ではmakeを使わずに,nmakeを使います。
また,コマンドプロンプトでのビルドに関しては,MSDN: C/C++ ビルドのリファレンスが参考になるかと思います。

ぽんた

Re: VC++ コンソールでコンパイル

#4

投稿記事 by ぽんた » 14年前

YuOさんありがとうございます。

なぜ同じ機能を提供する make なのにMicrosoftだけ nmake とか名前を変えるのでしょうね。

しかもコンパイルしてみると strcpy は色々ヤバいから俺の strcpy_s を使えとか
警告だらけでかえってC勉強中の私には余計なお世話な気がします・・・。

(深い事情は知らずに言ってます、#define strcpy strcpy_s しとけとか無しですよ)

ともあれ教えていただいたリファレンスが参考になりそうです。

ISLe
記事: 2650
登録日時: 15年前
連絡を取る:

Re: VC++ コンソールでコンパイル

#5

投稿記事 by ISLe » 14年前

ぽんた さんが書きました:なぜ同じ機能を提供する make なのにMicrosoftだけ nmake とか名前を変えるのでしょうね。
Linuxが普及したいまでこそmakeと言えばGNU make(と互換性のあるmake)ですが、それ以前は仕様の違うmakeがたくさんありました。
nmakeはGNU makeとは仕様が違うので、むしろ同じ名前を付けなかったことで容易に使い分けができるのはありがたいと思います。

閉鎖

“C言語何でも質問掲示板” へ戻る