質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

2回答

6942閲覧

C++のビルドツール

fugaaaa

総合スコア19

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

3グッド

2クリップ

投稿2017/05/30 10:52

最近のC++ではビルドツールは何が主流でしょうか。
詳しく方教えてください。

bochan2, mpyw, faithandbrave👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

こんにちは。

個人的にはCMake一押しですね。

採用も結構広がっています。Visual Studio 2017もサポートしましたし。
第12回目 Visual Studio 2017 Communityを準備する
「3-2-4.Visual StudioのCMake連携機能によるビルドと実行」にて簡単ですが解説してます。

linuxなら、C++用IDEのCode::BlocksもCMakeから使いやすいです。

投稿2017/05/30 11:04

Chironian

総合スコア23272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

faithandbrave

2017/05/31 09:36

補足情報として、CLionというIDEもビルドにCMakeを使用していますね。
Chironian

2017/05/31 10:43

faithandbraveさん、補足ありがとうございます。 CLionもCMake対応しているのですね。知らなかった。 本家StackoverflowのTag毎の質問数でシェアを見てみている(https://theolizer.com/cpp-school1/staring/#ide)のですが、質問数がこの半年で次のように増えてます。 Visual Studio 63,013 → 68,653 (+5,640) QtCreator 3,284 → 3,486 (+202) Code::Blocks 2,791 → 2,951 (+160) Eclipse + CDT 2,576 → 2,681 (+105) CLion 658 → 837 (+179) Dev-C++ 586 → 615 (+29) CLionかなり使われてそうですね。 QtCreatorはCMakeにも対応していないわけではないけど、ちょっと使いにくい。 Eclipse + CDTはイマイチ評判悪いし、インストールしてみたけど原因不明のエラーで途中で断念。 マルチプラットフォームとして残るのはCode::BlocksとCLionですね。 CLion伸びているので結構よいのかも。 Visual Studioもマルチプラットフォーム? よく分かってません。 なお、Visual StudioはC++だけでなく.NETの質問が多い筈なので、C++としてのシェアは測れてません。
guest

0

ツールばかりに頼っているとプラットフォームが変わったときに何もできなくなってしまいます。
Windowsならメモ帳でプログラムし、コマンドプロンプトでコンパイル、実行されたほうが良いと思います。

動作しない原因がプログラムではなく、ツールが原因(設定やバグも含めて)のこともあります。

投稿2017/05/30 10:56

maiko0318

総合スコア876

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yuba

2017/05/30 11:32

いや、そのご意見には賛成しません。 そのご意見の延長上には「C++のような高級言語にばかり頼っていると…」で、しまいにはフリップフロップ回路から手作りしろという話しかありません。これは極端な例えではなく。
WoodenHamlet

2017/05/30 11:37

メモ帳でプログラミングは無意味な苦行では… 別のエディタに乗り換えたとしてもカスタマイズで慣れた操作に設定するor慣れるのはそんなに、何もできなくなってしまうレベルの難易度ではないと思いますが
maiko0318

2017/05/30 11:57

程度の問題ではないかと思います。 用意された環境を教えてくれる人がいれば問題ないですが、 PCで勉強する前に慣れない環境の構築からするのは大変だと思います。 私はメモ帳でしかプログラミングしません。 自動的に{を打てば}が出てくるようなエディタがありますが、 それを出してくれないエディタを触った時}が打てない様になってしまうのではないかと思います。 実際に、COBOLで言うところのPICを省略できる(書かなくていい)言語を触ったら COBOLに戻った時、PICが書けないプログラマがたくさんいました。 コンパイルエラーが出てもその行だと指摘されてもPICは頭にないのでそのエラーが直らなくなります。
maisumakun

2017/05/30 12:20

1ファイルで済むような小さなプログラムなら、それでもいいと思います。 ただ、たとえ「依存関係を考えて必要なファイルのみコンパイルする」という高度なことをしないとしても、10ファイルを超えればファイル名を指定するだけで面倒になってきて、シェルスクリプトなりなんなりで自動化したくなってくることでしょう。 そのような場面で各個人が勝手に自動化の手段を考えているようでは、それこそ収拾がつかなくなってしまいます。
maiko0318

2017/05/30 12:30

面倒になったら面倒になった本人が色々作ればいいと思います。 でも、使いこなせない人間は面倒でも基本をやっていくしかないのです。
maisumakun

2017/05/30 12:35

1人でプログラミングするなら、それこそ好きにすればいいのです。 ただ、複数人が関わるプログラミングとなると、ビルド手法にも標準化が必要になります。
maiko0318

2017/05/30 12:46

標準化は要りますか? ある人はコマンドプロンプトでコンパイルし、ある人は自作したものでコンパイルしてもいいのです。 結果は同じでしょ。 標準化したものを理解できない人間もいるのです。なんでも標準化していいとは思いません。 それとも標準化したものが理解できなければ開発要員から外れろとでも?
maisumakun

2017/05/30 12:54 編集

もっと進めばContinuous Integrationで、指示1つで自動ビルド→自動テストの流れとなります。もはや「手動でコマンドを打ち込んでビルド」なんて操作をする余地すらなくなります。
tkanda

2017/05/30 13:05

回答者さんが質問内容と別の次元で思うところがあるのだとしても、まずは質問者さんが問うていることに対しての第一義的な回答を示されて、その上で補遺として述べられたほうが、全体として建設的な流れになるように思えましたので、マイナス評価とさせていただきました。
maiko0318

2017/05/30 13:10

答えは出しました。次元が変わったのは横やりのせいでは?
tkanda

2017/05/30 13:24

「問うていることに対しての第一義的な回答」とはこの場合、例えば「○○や××が主流のようです。しかし・・・」とか、「どのツールが主流なのかはわかりません。しかし・・・」という書き出しになっていれば、質問者さんも含めて多くの人がこの回答の趣旨を(どういう知見を背景としての発言であるかを)よりよく理解できたのではないか、という意味でした。言葉って難しいですね。
maiko0318

2017/05/30 13:29

>言葉って難しいですね。 誤解が解けましたら評価は戻してください。 (特にこだわっているわけではありませんが)
oskbt

2017/05/30 13:45

環境が変わってツールが使えなくなったのなら、新しい環境にあったツールを探せばいいのです。敢えて便利なツールを使わないっていう考え方は、無意味なだけで人に勧めるようなことではないと考えたため、マイナスを付けました。
WoodenHamlet

2017/05/31 01:52

>誤解が解けましたら評価は戻してください。 誤解を生むような回答(誤解じゃないと思うけど)が評価の低い回答になるのは妥当だと考えます
pashango2

2017/05/31 04:21 編集

プラットフォームが変わるというのは、SuperHなどの組み込み系CPUなどの開発の場合でしょうか・・・ 確かにそういう環境ではCMakeは対応していませんが、makeは使っております。 そんな現場でもメモ帳でプログラミングはしていません、それは相当特殊なケースですので賛同はしかねます。
chitoku

2017/05/31 14:16

これはビルドツールについての回答ではないですね。
kb10uy

2017/05/31 14:28

>それとも標準化したものが理解できなければ開発要員から外れろとでも? はい。
yumetodo

2017/05/31 17:07 編集

>それとも標準化したものが理解できなければ開発要員から外れろとでも? ビルドプロセスこそ標準化されるべきでしょう。ビルドできないプログラムは無価値です。 https://cpplover.blogspot.jp/2015/05/tech-8-c.html >ビルド可能性はとても重要で、まともなシステム管理者がドキュメントを読んで数行のコマンドを入力するだけでビルドできるようにしておくべきだ。 べつにcmake使えと言っているわけではないですが(well knownならよい。)。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問