pytho****@googl*****
pytho****@googl*****
2011年 11月 10日 (木) 00:21:07 JST
Revision: 5d6b5f742e45 Author: Naoki INADA <inada****@klab*****> Date: Wed Nov 9 07:19:44 2011 Log: Update 2.7.2: extending/windows http://code.google.com/p/python-doc-ja/source/detail?r=5d6b5f742e45 Modified: /extending/windows.rst ======================================= --- /extending/windows.rst Wed Jun 22 22:26:25 2011 +++ /extending/windows.rst Wed Nov 9 07:19:44 2011 @@ -101,7 +101,7 @@ さて、やり方は二通りあります: -#. :file:`example.dsw` と :file:`example.vcproj` をコピー し、 :file:`spam.\*` +#. :file:`example.sln` と :file:`example.vcproj` をコピー し、 :file:`spam.\*` に名前を変えて、手作業で編集する #. 新しくプロジェクトを作成する; 説明は下にあります。 @@ -154,16 +154,17 @@ PyObject_HEAD_INIT(&PyType_Type) -がうまくいかないはずです。そこで:: +がうまくいかないはずです。 +拡張モジュール内での静的な型オブジェクトの初期化は "initializer not a constant" +というようなエラーメッセージで失敗することがあります。 +これは DLL を MSVC でビルドするときに表示されます。そこで:: PyObject_HEAD_INIT(NULL) に変更してください。また、以下の行をモジュール初期化関数に加えます:: - MyObject_Type.ob_type = &PyType_Type; - -この操作を行う詳しい理由は、 `Python FAQ <http://www.python.org/doc/faq>`_ の第 3 -節を参照してください。 + if (PyType_Ready(&MyObject_Type) < 0) + return NULL; .. _dynamic-linking: