2

Windows XP および Python 2.7 の Python モジュールにラップしたい作業中の C++ コードがあります。これまでにこれを行ったことがないので、swig と distutils を調べました。

インターフェイス ファイルと setup.py を作成し、次を使用してコンパイルしました。

python setup.py build_ext -c mingw32

このスクリプトは、module_wrap.cppmymodule.imodule.cppファイルから を作成し、次に と を作成しmodule_wrap.oますmodule.o。をmodule.o作成すると、未使用の変数と非推奨の char* に対して一連の警告が作成されますが、うまくいくようです。C++ のコードは私のものではないので、今はあまり深く入りたくないのです。

最後のステップは実行中です

g++.exe -shared -s build\temp.win32-2.7\Release\module_wrap.o build\temp.win32-2.7\Release\module.o build\temp.win32-2.7\Release\_module.def -LC:\Programme\Python27\libs -LC:\Programme\Python27\PCbuild -lpython27 -o build\lib.win32-2.7\_module.pyd

私は得る

Cannot export init_module: symbol not defined
error: command 'g++' failed with exit status 1

私は今これをたくさんグーグルで調べましたが、この問題の解決策を見つけることができません。以前に作成された_module.defは、この init が含まれているため、この init をエクスポートしようとしているようです。

LIBRARY _module.pyd
EXPORTS
init_module

明らかにこれは機能しませんが、その理由はわかりません。誰か助けてくれませんか?

4

1 に答える 1