CLionでリンクオプションを追加


前書き(CLionの宣伝)

最近C言語の学習にCLionを使い始めました。
vimとかemacsとかでがりがり書いたものをprintfで表示したりGDBでデバッグ。。。。みたいなのがが苦手でIDEに逃げてきました。
デバッグがとてもしやすいので、プロフェッショナルな方だけでなくC言語を勉強中の学生さんとかにもお勧めです。
メモリの消費多めですがMacでもWindowsでもUbuntuでも大丈夫です。
ポインタとか文字列の扱いとかの動きが目に見えてわかるので現代っ子にはうってつけでしょう。
Android Studioとか触ったことがある人ならなおさら余裕です。
ふつうは有料ですが教育機関のメールアドレス持ってたらタダで使えます。

CLionのセットアップ方法と簡単な使い方
C/C++のIDEとしてCLionがマルチプラットフォームで便利

タイトルの問題

リンクオプションが必要なpthread.hとかmath.hを使う時
普通にターミナルでコンパイルするときは-lpthreadとか-lmを付けるけど、
IDEで実行ボタンをポチーでもその辺うまくやってくれると思っていた私が平成生まれでした。

解決策

自動で生成されるCMakeLists.txtだと

CMakeLists.txt
cmake_minimum_required(VERSION 3.7)
project(test)

set(CMAKE_C_STANDARD 99)

set(SOURCE_FILES main.c defs.h)
add_executable(txtcp ${SOURCE_FILES} defs.h)

とかですが

例えばpthread.hをインクルードするとリンクするときにフラグがいるのでこのまま実行ボタンをポチっとやってもエラーが出ます。
こんな感じに編集しましょう。

CMakeLists.txt
cmake_minimum_required(VERSION 3.7)
project(test)

set(CMAKE_C_FLAGS  "-pthread")

set(SOURCE_FILES main.c defs.h)
add_executable(txtcp ${SOURCE_FILES} defs.h)