Pythonxx.dll (※ xx はバージョン)は Microsoft Visual C++ (以下VC)で作成されています。 VCで作成されたDLLはBorland C++ Builder (以下BCB)とは呼び出し規約が異なるため、 このままでは静的リンクができません。
よってこの違いを吸収するため、モジュール定義ファイルを自ら作成する必要があります。
1. impdef を使い .DEF ファイル(モジュール定義ファイル)を生成する。
impdef python.def python.dll
python.def の内容:
LIBRARY PYTHON.DLL
EXPORTS
PyArg_Parse @1
PyArg_ParseTuple @2
PyArg_ParseTupleAndKeywords @3
PyArg_VaParse @4
....続く
2. .DEF ファイルに記載されている関数名から、序数を取り下線を付加する。
LIBRARY PYTHON.DLL
EXPORTS
_PyArg_Parse=PyArg_Parse
_PyArg_ParseTuple=PyArg_ParseTuple
_PyArg_ParseTupleAndKeywords=PyArg_ParseTupleAndKeywords
_PyArg_VaParse=PyArg_VaParse
....続く
3. implib を使い、.DEF ファイルからインポートライブラリを生成する。
implib python_bcb.lib python.def
4. プロジェクトに 3. のインポートライブラリを追加する。