ホームページ > バックエンド開発 > C++ > SDL2 ヘッダーを CMake ベースのプロジェクトに含めるにはどうすればよいですか?

SDL2 ヘッダーを CMake ベースのプロジェクトに含めるにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-02 22:13:02
オリジナル
730 人が閲覧しました

How can I include SDL2 headers in a CMake-based project?

CMake ベースのプロジェクトに SDL2 ヘッダーを含める

この質問は、SDL2 ヘッダー (#include "SDL.h") を含める問題に取り組みます。 CMake を使用して CLion で SDL2 プロジェクトを作成する場合。

ソリューション

提供されるソリューションは、さまざまなオペレーティング システムに対して 2 つのアプローチを提供します。

Linux

Linux の場合は、最新の CMake バージョン (例: 3.7) を使用するだけで十分です。 CMake の組み込み find_package 機能は、SDL2 ヘッダーとライブラリを見つけて含めることができます。

<code class="cmake">cmake_minimum_required(VERSION 3.7)
project(SDL2Test)

find_package(SDL2 REQUIRED)
include_directories(SDL2Test ${SDL2_INCLUDE_DIRS})

add_executable(SDL2Test Main.cpp)
target_link_libraries(SDL2Test ${SDL2_LIBRARIES})</code>
ログイン後にコピー

Windows

Windows の場合は、次の手順に従います。

  1. SDL2 開発パッケージをダウンロードします。
  2. 選択した場所に解凍します。
  3. 解凍したディレクトリに次の内容のファイル sdl-config.cmake を作成します。
<code class="cmake">set(SDL2_INCLUDE_DIRS "${CMAKE_CURRENT_LIST_DIR}/include")

# Support both 32 and 64 bit builds
if (${CMAKE_SIZEOF_VOID_P} MATCHES 8)
  set(SDL2_LIBRARIES "${CMAKE_CURRENT_LIST_DIR}/lib/x64/SDL2.lib;${CMAKE_CURRENT_LIST_DIR}/lib/x64/SDL2main.lib")
else ()
  set(SDL2_LIBRARIES "${CMAKE_CURRENT_LIST_DIR}/lib/x86/SDL2.lib;${CMAKE_CURRENT_LIST_DIR}/lib/x86/SDL2main.lib")
endif ()

string(STRIP "${SDL2_LIBRARIES}" SDL2_LIBRARIES)</code>
ログイン後にコピー
  1. CMake-GUI アプリケーションで、抽出した SDL2 ディレクトリに SDL2_DIR 変数を設定します。
  2. CMake を再構成します。

これらの手順の後、 #include "SDL.h" を使用して SDL2 ヘッダーをインクルードできます。

以上がSDL2 ヘッダーを CMake ベースのプロジェクトに含めるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート