次の回答は、Python C++-sig メーリング リストで Roman Yakovenkoから提供されました。スタック オーバーフロー コミュニティのために、少し編集してここに投稿します。
答えはまだ完全には理解できていませんが、正しい方向に向けられていると感じました。
コードを生成したら、それをコンパイルする必要があります。この目的のために、お気に入りのビルド システムを使用できます。私はブーストをコンパイルするためだけに bjam を使用します。この後、scons (Windows および Linux) を使用することを好みます。
以下は、Py++ 単体テストの 1 つをコンパイルするために使用される sconstruct ファイルの例です (これも生成されたコードです :-) ):
import sys
env = Environment()
if 'linux' not in sys.platform:
env['MSVS'] = {'VERSION': ''}
env['MSVS_VERSION'] = ''
Tool('msvc')(env)
t = env.SharedLibrary(
target=r'abstract_classes',
source=[r'/home/roman/language-binding/sources/pyplusplus_dev/unittests/temp/abstract_classes.cpp'],
LIBS=[r"boost_python"],
LIBPATH=[r"", r"/home/roman/include/libs"],
CPPPATH=[
r"/home/roman/boost_svn",
r"/usr/include/python2.6",
r"/home/roman/language-binding/sources/pyplusplus_dev/unittests/temp",
r"/home/roman/language-binding/sources/pyplusplus_dev/unittests/data",
r"/home/roman/boost_svn"
],
CCFLAGS=[ ],
SHLIBPREFIX='',
SHLIBSUFFIX='.so'
)
コード ジェネレーターは Python で記述されているため、Py++ が停止したところから続行して、お気に入りの "make" ファイルを生成できます。お父さんでもいけます。Py++ テストは、コードの生成、コンパイル、新しいモジュールのロード、および機能のテストを行います。これらはすべて、単一のスタンドアロン プロセスで実行されます。