SCons on Windows リソースファイルの指定方法

WindowsのSConsでリソースファイルを指定する方法のメモ。

方法

  1. リソースファイルのコンパイル
  2. リンク時にコンパイル済みのリソースファイルを追加

1. リソースファイルのコンパイル

import sys

env = Enviroment()

RESOURCES = ['resource.rc']    # リソースファイル
COMPILED_RESOURCE = []       # コンパイルされたリソースファイル名が格納される

if sys.platform == 'win32':
    # リソースファイルをコンパイルさせる
    COMPILED_RESOURCE = env.RES(RESOURCES)
    # 'resource.rc'がコンパイルされると'resource.res'が生成される
    # 生成されたファイルをリンク時に追加する
    #
    # RESメソッドの戻り値はコンパイル済みリソースのファイル名を格納したリスト
    #
    # ちなみにRESメソッドはVisual C++かMinGWが必要

2.リンク時にコンパイル済みのリソースファイルを追加

今回は共有ライブラリを作りたかったのでSharedLibraryメソッドを使いリソースファイルをリンクする

CPP_FILES = ['hoge.cpp', 'homuhomu.cpp']

env.SharedLibrary('out_name', CPP_FILES + COMPILED_RESOURCE)

参考資料

リソースファイルのコンパイル方法について
http://www.scons.org/doc/0.96.91/HTML/scons-user/a5334.html#B-RES
コンパイル済みリソースファイルの追加方法について http://www.scons.org/doc/1.1.0/HTML/scons-user/c3714.html