
Windowsでのmakeについてお尋ねします。
Windows上でGnuのコンパイラを使うということを前提としたmakeを利用するにはどうしたらいいでしょうか。コマンドラインでコンパイルすることは可能で、パスも設定されています。
WindowdでmakeというとnamakeとかVisualStudioの環境でのものが出てきそうですが、たぶんそのようなものでは使えないと思います。この辺はLinuxだとコンパイラとかmakeの実行ファイルなどデフォルトの状態で利用できるはずですが、Windowsではどうやるのでしょうか。長年の鬼門なのです。
よろしくお願いします。
なお、Vmware, Cygwin, WSLとは別ということになります。これらだったら基本Linuxの環境ですね。
A 回答 (8件)
- 最新から表示
- 回答順に表示
No.8
- 回答日時:
本当に Makefile で困っている人には
2 An Introduction to Makefiles
を薦めた方がいいんじゃないかと思ったり>#7.
ちなみに GNU make は日本語のマニュアルも書籍で出てた. バージョンは 3.80 とかのあたりだったと思う.
No.7
- 回答日時:
>GNU make のマニュアルは HTML だったり PDF だったり
おお、PDFで探せばよかったか。ありがと #5
つうことで、GNU make のマニュアル
10.2 Catalogue of Built-In Rules
10.3 Variables Used by Implicit Rules
10.5.3 Automatic Variables
くらい把握しとけばいいと思います。
No.6
- 回答日時:
丸投げせずに
・gcc直打ちではどこまでうまく行くのか?
・Makefile 、ソ一ス、エラーメッセージ
ここに書いてみよう。
できません、できませんだけでは
回答側に負担がかかるばかりで
答える気が萎えます。
No.5
- 回答日時:
GNU make はいろいろと拡張されまくっているのでアレなところはあるけど基本は同じだし実は基本的な書き方は
GNU make のマニュアル
にも書いてあったりする. とはいえ Makefile の書き方は調べればいくらでも見付かるはずなんだけど... なにに困っているのかなぁ.
あ, GNU make のマニュアルは HTML だったり PDF だったりといろいろなフォーマットで用意されてるよ>#4.
No.4
- 回答日時:
nmake はよく知らないが、
GNUmake だったら、ほぼ linux 系動作と同じです。
(多くの linux の GNUmake は途中で .o を作るけど)
makefile 等がなかった場合、
フォルダ中に、foo.c とか foo.cc とか foo.f 、foo,p などあれば、
make foo
などとすると、
foo.c :
cc foo.c -o foo
foo.cc:
g++ foo.cc -o foo
foo.f:
f77 foo.f -o foo
foo.p:
pc foo.p -o foo
と動作します。
最優先は、foo.c だったかな?
Makefile に
CC=gcc
CXX=c++
FC=gfortran
PC=gpc
とか書けば、
コンパイラが変わってくれます。
別に書かなくても、環境変数で
set CC=gcc
などとしても、変えることが出来ます。
読むの面倒ですが、
make -p とすれば、動作がある程度見えると思います。
GNUmake のマニュアルには、そのあたり書いてあったと思うけど、
最近ネットで解説が分割されているので、
まだ残ているか、探しずらいので、よくわかりません。
昔のひとまとめでみられるものだと、
まとめて書いてあるので探しやすかったのですが・・・
No.2
- 回答日時:
もちろん GNU make を使ってもいいし, MS の nmake でも「できない理由」が思いつかないんだけど.
何に困っている?
回答ありがとうございます。
簡単なんですか。
makefileの編集ルールとmakeを実行するコマンド(あるいはnmake)の関係はどうなるでしょうか。makeを実行するコマンドは仕様が決まっているのでそれにあわせたmakefileの作成ということになるわけですが。サンプルを1つ示していただけると助かるのですが。
Gnu makeのバージョンは4.2.1でした。nmakeはVisual studioの開発環境のシェルにあります。
No.1
- 回答日時:
回答ありがとうございます。qiitaのサイトではgnu makeを利用する環境が示されているようでした。私のPCではコマンドラインからmake --versionとすると、Gnu makeのver.4.2.1が出てくるようになっています。
そうしますと、あとはmakefileの編集ですが、その例があると助かるのですが。
例えば、/home/program/xxx.cとyyy.c という2つのファイルをgccでコンパイルしてa.exeを作るというmakefileはどうなるでしょうか。インクルードファイルなどの指定とかも必要なのでしょうか。
質問の内容を端的に言うと、(私の環境に合致する)makefile編集ということになります。makefileはLinux(Unix)創世期からありますので、コピペして編集したりするのですが、動かないということに見舞われてきました。
細かい指定があってインデントを編集するときにTabはいいとか・ダメとかいろいろあったのだと思います。そのため敬遠していました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(ソフトウェア) Makefileが実行できない 2 2022/07/28 23:49
- フリーソフト テキストエディア oedit の環境設定(初期設定)ファイルはどこ? 1 2022/11/18 15:40
- Windows 10 WindowsホストのVMware workstationで仮想マシンをシステム起動時に起動できるか 3 2023/06/18 17:52
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- Windows 7 Windows7でMicrosoft VirtualPC2007 SP1を使用する 9 2022/11/17 13:12
- その他(OS) Ubuntuに仮想環境いれて古いwindows動かしたいんですが、OSイメージ無料で手に入りますか? 2 2023/03/09 23:49
- サーバー Windows2019CALとRDS CALについて 1 2022/06/19 13:48
- Mac OS iMac27(2010)のbootcamp 下の Windows で ディスプレー外部入力を 受ける 4 2023/07/25 18:57
- 中古パソコン 中古PCを売る時、OS(Windows11)はどんな状態にするのが親切ですか? 4 2022/12/15 17:08
- その他(パソコン・周辺機器) デバイスのペアリングのウィンドウサイズがおかしい 1 2023/01/18 18:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Fortran90を使いたい
-
MFC
-
perlは漢字の変数が使えますが...
-
C言語のコンパイラ
-
正しくないのに実行できてしま...
-
改行の書き方('\\n' "\\n")は...
-
Fortranの配列の範囲を超えた参...
-
gfortran, g95の衝突?
-
新規ソース内のマクロ定義が既...
-
C++でJavaのアプレットに相当す...
-
C++ で、「)」が必要 というエ...
-
コンパイラについて
-
io.hをincludeするとそのような...
-
wavファイルの波形データについて
-
Pascalについて(string)
-
[コンパイラのパス(W)]
-
Intel+WindowsPCの並列化処理
-
銃を発砲するならともかく、日...
-
電卓作成(緊急です!!)
-
65536は2の何乗なのでしょうか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
0除算して、落ちるプログラムと...
-
C++ で、「)」が必要 というエ...
-
C++でアボート(Abort)で処理が...
-
io.hをincludeするとそのような...
-
コンパイラについて
-
コンパイルできない
-
Delphiの逆コンパイル
-
Eclipseの環境設定について
-
変数(関数)名の頭に_
-
関数の戻り値による変数の初期化
-
Visual C++とVisual C++.NETの違い
-
初心者はIDE使わないほうが良く...
-
fortranでのNaNについて
-
コンパイラフラグ(compiler fla...
-
sprintfを用いたフォーマット文...
-
C言語のワーニングメッセージの...
-
非商用のインテルコンパイラ
-
不要なインクルードファイルの検出
-
ccコマンドの使い方
-
ABAQUS ユーザーサブルーチン...
おすすめ情報