OSS探訪GitHubでログイン

C++からウィンドウ、描画、音声、通信を共通APIで扱う

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
12,048
主要言語
C++
ライセンス
Zlib
リポジトリ最終更新
2026/10/04
ページ内ナビ

概要

SFMLは、C++アプリケーションからOSごとの差を意識しすぎずにマルチメディア機能へアクセスするためのライブラリです。ウィンドウと入力、2D描画、音声、ネットワークを分かれたモジュールとして選び、ゲーム、可視化、対話型ツールの土台にできます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

必要な機能をモジュール単位で組み合わせる

Systemを土台に、Windowはウィンドウと入力、Graphicsはスプライトや文字などの2D描画、Audioは再生と録音、NetworkはソケットやHTTPなどを扱います。3.1.0では複雑な文字配置、TLS・HTTPS、IPv6、SFTPにも対応範囲が広がりました。

出典:[1][2]

向いている用途

小さな対話型アプリケーションから段階的に広げる

描画ループ、キーボードやゲームパッド入力、効果音、簡単な通信を一つの設計で扱いたいC++プロジェクトに向きます。CMakeのFetchContentで固定版を取得し、リンクするモジュールを明示すれば、教材用の小作品から複数OS向けの製品まで同じ構成を版管理できます。

出典:[1][3]

導入前の確認

SFML 3のAPIと配布先の実機条件を確認する

3.1.0自身のビルドはCMake 3.28以上を要求し、公開ヘッダーはC++17を前提にします。ウィンドウ、OpenGL、音声機器、OSの共有ライブラリは実行環境に依存するため、コンパイル成功だけでは配布先での動作を保証できません。SFML 2から移行する場合はAPI差分を確認してください。GitHubはZlibライセンスと表示し、同梱する外部ライブラリには個別のライセンスがあります。

出典:[3][4][1][5][6]

参考にした公式資料

  1. [1]SFML 3.1.0 README(2026-10-04)
  2. [2]SFML 3.1.0 release(2026-10-04)
  3. [3]SFML 3.1.0 CMake configuration(2026-10-04)
  4. [4]SFML 3.1.0 version API(2026-10-04)
  5. [5]SFML/SFML GitHub repository metadata(2026-10-04)
  6. [6]SFML 3.1.0 license(2026-10-04)
編集部からの補足

まず必要なモジュールだけで小さな実行ファイルを作り、配布先ごとのウィンドウ、音声機器、OpenGL環境を実機で確認してください。SFML 2向け資料とはAPIが異なるため、3.1.0の文書を基準にします。

3ステップで試す

  1. 1

    CMakeプロジェクトを用意する

    CMake 3.28以上、C++17対応コンパイラ、Git、make、ネットワーク接続を前提に、SFML 3.1.0のSystemだけを取得する設定をLF改行で作ります。以降も同じ端末と作業ディレクトリを使います。

    mkdir sfml-demo && cd sfml-demo && printf '%s\n' 'cmake_minimum_required(VERSION 3.28)' 'project(sfml_demo LANGUAGES CXX)' 'include(FetchContent)' 'set(SFML_BUILD_AUDIO OFF CACHE BOOL "" FORCE)' 'set(SFML_BUILD_GRAPHICS OFF CACHE BOOL "" FORCE)' 'set(SFML_BUILD_NETWORK OFF CACHE BOOL "" FORCE)' 'set(SFML_BUILD_WINDOW OFF CACHE BOOL "" FORCE)' 'FetchContent_Declare(SFML GIT_REPOSITORY https://github.com/SFML/SFML.git GIT_TAG 3.1.0 GIT_SHALLOW ON)' 'FetchContent_MakeAvailable(SFML)' 'add_executable(sfml-demo main.cpp)' 'target_compile_features(sfml-demo PRIVATE cxx_std_17)' 'target_link_libraries(sfml-demo PRIVATE SFML::System)' 'set_target_properties(sfml-demo PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")' > CMakeLists.txt
  2. 2

    実行時の版を表示する

    3.1.0で追加されたsf::version()を使い、実際に読み込んだライブラリの版を表示するC++ソースをLF改行で作ります。

    printf '%s\n' '#include <SFML/System/Version.hpp>' '#include <iostream>' '' 'int main()' '{' ' std::cout << sf::version().string << std::endl;' '}' > main.cpp
  3. 3

    ビルドして固定版を確認する

    単一構成のUnix Makefilesジェネレーターで固定タグのSystemをビルドし、build/binに生成した実行ファイルが3.1.0を読み込むことを確認します。ウィンドウや音声機器は使いません。

    cmake -S . -B build -G "Unix Makefiles" && cmake --build build --target sfml-demo && test "$(./build/bin/sfml-demo)" = "3.1.0"
公式READMEで確認

成長

成長の推移 · 直近30日

12,048 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
0
Open PR
62

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • sfml
  • c-plus-plus
  • multimedia
  • games
  • opengl
  • sdk
  • graphics
  • audio
  • cross-platform
  • hacktoberfest
Stars
12,048
Forks
1,913
Watchers
331
Open Issues
101
Contributors
209
所有者種別
Organization
主要言語
C++
ライセンス
Zlib
リポジトリ最終更新
2026/10/04

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?