DXライブラリ をCodeBlocksで使うには (Makefileを使って)


はじめに

DXライブラリはいろいろな環境で使えます。公式サイト上ではVisual StudioC++BuilderMingwの使い方が紹介されています。
今回はCodeBlocksでDXライブラリの使い方を説明します。

環境は
- Windows10 (21H1)
- DXライブラリ(ver3.22c for Mingw : 7_3_0_x86_64_w64_win32_seh_rt_v5_rev0)
- CodeBlocks(20.03 日本語化済み)

です。
バージョンによって変わるので、環境によって読み替えてください。

参照サイト

今回はCodeBlocksでmakefileを使おうを参考にDxライブラリ向けに書きました。
2008年の記事ですが、今でも紹介されている方法でセットアップできる素晴らしいブログです。
今回はこのサイトからCodeBlocksの設定方法を参照しました。

CodeBlocksの設定方法

プロジェクトの作成

  1. CodeBlocksを起動してください。

    そのあとに、ファイル(F)→新規→プロジェクトの順番で選択してください。

  2. するとテンプレートから新規作成というウィンドウが立ち上がります。

写真の赤ペンで囲ったところ、カテゴリ:Consoleをドロップダウンメニューから選び、Empty Projectを選択して、Goを押してください。
3. するとプロジェクトのタイトルの入力が要求されます。

青ペンで囲っている部分、任意の名前、任意のディレクトリを入力してNextを押してください

4. コンパイラの選択に移ります。

ここはとくに問題なければ、Finishを押してください。

5. 今回使うファイルを用意してみたので使ってみてください。
私のGithubリポジトリにアクセスするか、git clone https://github.com/312k/Dxlib-test-actions.gitでファイルが入手できます。
6. 先ほどのファイルの7_3_0のフォルダとmain.cppMakefileを作成したプロジェクトのディレクトリにコピーしてください。

7.しかし先ほど用意したMakefileはGithubActions向けに書いたため以下に示すMakefileに書き換えてください。

# 参考:https://qiita.com/C_Assembly/items/e921b7c0745651d31d79
# [C++]DXライブラリ(DxLib)をMinGWで使う by @C_Assembly
# 一番最後の行にこれを追加してください。
# GithubActionだと永遠に終わらないので...
# run:
#   main.exe
.SUFFIXES:  #サフィックス無効
CC:=g++ #g++でビルドする

CFLAGS:= -g3 #デバッグ情報最大化
CFLAGS+= -Wall #エラーを全部出す
CFLAGS+= -Wextra #追加の警告オプション
CFLAGS+= -std=gnu++20 #C++20でビルドする
CFLAGS+= -DDX_GCC_COMPILE
CFLAGS+= -DDX_NON_INLINE_ASM

TARGET = main #実行ファイルの名前
SRCS = ./*.cpp
#ICON = icon.res #アイコンファイルの場所
INC_DIR := -isystem ./7_3_0 #インクルードするディレクトリ
LIB_DIR := -L ./7_3_0 #ライブラリディレクトリ

#リンク時のフラグ
LDFLAGS := -lDxLib \
     -lDxUseCLib \
     -lDxDrawFunc \
     -ljpeg \
     -lpng \
     -lzlib \
     -ltiff \
     -ltheora_static \
     -lvorbis_static \
     -lvorbisfile_static \
     -logg_static \
     -lbulletdynamics \
     -lbulletcollision \
     -lbulletmath \
     -lopusfile \
     -lopus \
     -lsilk_common \
     -lcelt \
     -mwindows      
$(TARGET):
    $(CC) -o $(TARGET) $(CFLAGS) $(SRCS)  $(INC_DIR) $(LIB_DIR) $(LDFLAGS)

参考: [C++]DXライブラリ(DxLib)をMinGWで使う

8.上記Makefileを用意できたら、c++ファイルを開いてください。

Makefileを使うための設定

  1. プロジェクト(P)→プロパティと選択してプロパティ/ターゲットウィンドウを起動してください。

  2. チェックボックスにMakefileを自動生成しないを選択してください。そうしたら横のタブのビルドターゲットを選択してください。

  3. 赤ペンで囲ってある追加を選択して、新しいビルドターゲット名を入力:にallと入力してOKします。

  4. 青ペンで囲まれている、ビルドターゲットをallになっていなければ、allに変更してください。

  5. F9キーあるいはビルドして実行をすると赤ペンで囲われている、点が表示したら成功です!

終わりに

Visual StudioでもDXライブラリはできますが、CodeBlocksのメリットはやはりポータブルで持ち運べるのがいいところだと思います。
もちろんmakefileですのでコンソールからもできますが、IDEの方がいろいろと便利ですので、実行できてよかったです。