そぬばこ

備忘録とか、多分そんな感じ。

CeiEDでCLion使いたいでしょ?

この記事はUEC Advent Calendar 2017の2日目の記事です。
前日はid:octopus_iMykさんの「ドーム友達を脱退した前田氏の理由が核心をついていない件」でした。
共同生活って難しい……


まえがきのようなもの

これを読んでいる電通大生のみなさんは、「基礎プログラミングおよび演習*1」等で、C言語のコーディング方法から、コンパイルして実行する手順を学んだ、もしくは学んでいる最中であろうと思います。
例えばemacsvim等のエディタ*2を開き、C言語のコードを書きます。その後、gccを使ったりして、コンパイルして実行していることでしょう。
しかしながら、IDE*3を用いてJavaからプログラミングを学んだ私にとっては、この手順が非常に面倒に感じたものでした。
そんなこともあり、日頃からC言語を使えるIDEをいろいろ探していました。Microsoft Visual Studioを試したりしましたが、どうも肌に合わないようで、うんうん唸りながらnanoのシンタックスハイライトのカラーリングを変え続ける日々が続きました。

運命の出会い(?)

ある時、Javaでコーディングをしていると、IntelliJ君がふと、目につきました。
IntelliJはJetBrainsが世に送り出している主にJava向けのIDEです。私は学生の特権*4を用いて、Ultimate版をしっかり確保していました。
ここらへんの詳しい話は12/23にudoooom君がしてくれるかもしれないので、割愛します。簡単に説明すると、よくある学生にはタダでライセンスをくれるってやつです。JetBrainsは本当に太っ腹だなぁ。
何気なくそのJetBrainsのHPを眺めていると、CLionという文字が目につきます。
なんだこれは、ライオン? がおー*5

CLionとは

前置きが長くなりましたが、今回紹介するのはCLionのお話です。
CLIonとは、JetBrainsが提供するC・C++向けのIDEです。UIは非常にIntelliJに近く、普段からIntelliJを使っている人にはオススメです。
もちろん、こちらも学生の特権を使えば無料で手に入れることができます。気になった方は、早速JetBrains様に学内メールアドレスを献上してみましょう。
ここから先は、I科とⅠ類の計算機室であるCeiEDでの導入の手順を軽く紹介しますので、ぜひ。

CLionを導入しよう

CeiED以外の他環境では導入手順や、設定等に違う点があると思いますので、ご留意くださいませ。

1. ダウンロードする

まずはダウンロードしなきゃ始まらない。
https://www.jetbrains.com/clion/ でダウンロードしましょう。
Linux版だと.tar.gzのファイル形式で手に入るはずです。

2. 解凍しよう

圧縮ファイルは解凍しないと始まらない(?)
CeiED標準のfirefoxでダウンロードしたならば、ルート直下のダウンロードディレクトリにあるはずです。
解凍は好きなやり方でいいですが、こんな風に

$ tar -zxvf CLion-2017.3.tar.gz

とでもしてやれば出来ると思います。
解凍したものをそのままダウンロードディレクトリに置いておくのもアレなので、好きなところに移動させておくと良いでしょう。

3. 起動しよう

起動しなきゃ始まらない。それはそう。
解凍後はclion-2017.3とかそれに準じた名前のディレクトリになっているはずです。その中にbinがあり、binの中にclion.shがあります。

$ cd ~/clion-2017.3/bin/
$ ./clion.sh

こいつを叩いて起動しましょう。簡単ですね。
起動直後はライセンスの確認があるので、JetBrains様にもらったものを使いましょう。
導入は以上です。お疲れ様でした。

CLionを使ってみよう

では、早速CLionを使ってみましょう。File -> New Project...でプロジェクトを新規作成できます。

f:id:nersonu:20171201133430p:plain:w300
プロジェクト新規作成画面
例えば、C言語で何かやりたいならば、C Executableを選びます。プロジェクトを作成する場所を指定し、Language standardはお好みで。
C90とかC99がわからないという人は、一度自分で調べてみてください。
あとは右下のCreateを押せば、プロジェクトが作成されます。

作成したプロジェクトには、いわゆるHello, Worldプログラムのmain.cCMakeLists.txt、あとはCLIon君が勝手に生成したファイル群があります。

f:id:nersonu:20171201133435p:plain
作成したプロジェクト
早速右上のスタートボタンか、Shift+F10でプログラムを動かしてみましょう。画面下部に"Hello, World!"と表示されていれば問題はありません。
f:id:nersonu:20171201133441p:plain
Hello, World!

CMakeってなんですか

さて、もうCLionを使える状態にはなりました。しかし、CMakeList.txtって何やねん。と思われた方がいらっしゃると思います。
実は、CLionはCMakeと呼ばれるビルドシステムを採用しており、つまるところCMakeList.txtというのはそいつの設定ファイルと思ってもらえればよいです。
記述方法もそんなに難しいものではないので、軽く説明しておきましょう。
今、CMakeLIst.txtをCLion上で開くと、以下のようになっていると思います。

cmake_minimum_required(VERSION 3.9)
project(Project_name C)

set(CMAKE_C_STANDARD 90)

add_executable(Project_name main.c)

これを見て、ああ、add_executableにファイルを追加していけば、いいのかな。くらいわかれば、もうどうということはない(?)気がします。
実際、新しくsub.cを追加したいならば

add_executable(Project_name main.c sub.c)

と、してやればいいです。

あと、電通大生の皆さんはやはり、-Wallといった警告オプションや、-O2などの最適化オプションを使いたい! と考えると思います。 CLionでも、もちろん可能です。こういうときは

add_definitions("-Wall -O2")

と、一行追加してあげましょう。

また、電通大生の皆さんはやはり、数値計算を講義や実験で行う時に、math.hといった数式ライブラリを使わなきゃ……と、常日頃思っていることでしょう。
こういう、ライブラリを引っ張ってくるときは先のような方法ではなく

target_link_libraries(Project_name m)

と、すればオーケーです。上記は、math.hをリンクした例です。

その他、詳しく知りたいのであれば、まずはCLionのHelpにあるCMakeのチュートリアルをやってみるのをオススメします。 www.jetbrains.com

おわりに

いかがでしたでしょうか。CLionを始めとしたJetBrainsのIDEはUIが非常に好みで、使いやすいと感じています。
なんといってもIDEを使うメリットは

などとあり、作業の効率化につながると考えています。
今回はLinux版の導入に触れましたが、WindowsMacにも対応していますので、IntelliJを入れるついでに、導入してみてはいかがでしょうか。
ちょっと気になるな……と、思われた皆さんはぜひCLionを使ってみてください。
これからガンガン使っていくぜとなった方は、ここに書いていないような設定のアレコレも、時間の許す限り触ってみて欲しいと思います。
よきコーディングライフを。

明日はid:Kniumさんです。
UEC Advent Calendar 2016の作成者ですね。お楽しみに。


*1:電気通信大学の二学期に開講されるプログラミングに関する基礎知識を学ぶ講義である。今年度より講義内容が一新されたらしい。

*2:余談だが、筆者はnanoをよく用いている。

*3:統合開発環境のこと。

*4:https://www.jetbrains.com/student/

*5:(「・ω・)「ガオー