{}const=>[]async()letfn</>var
開発

🛠️ CMakeを簡単に:ビルドを一度設定すれば、後は忘れてしまって大丈夫です

CMakeは多くの人を怖がらせますが、あなたを怖がらせることはありません。ここでは、苦労せずにC ++用のCMakeを設定するためのシンプルでわかりやすいガイドを紹介します。ミニテンプレート、ヒント、ライフハック。これらすべてはコディックがサポートします🚀

К

Kodik

著者

1分で読める

C ++でプログラミングしたことがあるなら、CMakeに遭遇したことがあるはずです。そして、すべてが単純に 収集しないCMakeは強力なツールですが、その構文と構造はしばしば苦痛を引き起こします。CMakeの設定方法を見てみましょう 一度だけ、正しく、混乱に戻らないように 💡

🔰 CMakeとは何ですか?

CMakeはビルド生成システムです。コードを直接コンパイルするのではなく、 アセンブリ用のファイルを作成します あなたのシステムに合わせて:Makefile、Ninja、Xcode、またはVisual Studio。

  • ✅クロスプラットフォームで動作

  • ✅依存関係をカスタマイズできる

  • ✅ 大規模プロジェクトの組み立てを簡素化

  • ✅ IDEおよびCI/CDとの互換性

🔥 10万人以上の学生が参加中

理論を読むのに疲れた?
コーディングの時間だ!

Kodik — 実践でプログラミングを学ぶアプリ。AIメンター、インタラクティブなレッスン、実際のプロジェクト。

🤖 AI 24時間
🎓 修了証
💰 無料
🚀 始める
今日参加

🧱 CMakeを使用したプロジェクトの基本構造

project-root/
├── CMakeLists.txt
├── src/
│   └── main.cpp
├── include/
│   └── mylib.hpp
├── CMakeLists.txt (внутри src/)

📌ルートCMakeLists.txt:

cmake_minimum_required(VERSION 3.15)
project(MyProject)

set(CMAKE_CXX_STANDARD 20)

add_subdirectory(src)

📌 src/CMakeLists.txt:

add_executable(my_app main.cpp)
target_include_directories(my_app PRIVATE ../include)

⚙️ CMakeをスムーズに設定するためのヒント

1.グローバル変数の代わりにtarget_*を使用する

❌悪い:

include_directories(./include)

✅ 正解:

target_include_directories(my_app PRIVATE ./include)

2. compile_commands.json を追加します

set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

VS Codeとclangdでのオートコンプリートとエラーの強調表示に役立ちます。

3. 常に out-of-source build を使用する

mkdir build && cd build
cmake ..
cmake --build .

4. サードパーティのライブラリを正しく接続する

FetchContentの例:

include(FetchContent)
FetchContent_Declare(
  json 
  URL https://github.com/nlohmann/json/releases/latest/download/json.hpp
)
FetchContent_MakeAvailable(json)

target_link_libraries(my_app PRIVATE nlohmann_json::nlohmann_json)

🧪 良いCMakeプロジェクトのチェックリスト

  • ✅ CMakeLists.txtは30行以下

  • ✅ すべての依存関係は target_* を介しています

  • ✅ Debug/Releaseのサポート

  • ✅ アウトオブソースアセンブリ

  • ✅ターミナルとIDEで動作します

📚 テーマを深めたいですか?
アプリで コディック CMakeとC ++の詳細なレッスン、ステップバイステップのエクササイズ、エラー解析、そしてあなたの携帯電話またはブラウザで簡単に練習することができます。
ニュース、新機能、役立つ資料を知りたい場合は、当社のニュースレターをご購読ください。 テレグラムチャンネル. そこは快適で、ビジネスに向いており、コードへの愛情が ❤️

🎯先延ばしをやめよう

記事は気に入った?
実践の時間だ!

Kodikでは読むだけでなく、すぐにコードを書く。理論 + 実践 = 本当のスキル。

即座に実践
🧠AIがコードを説明
🏆修了証

登録不要 • カード不要