まとめている C++ ライブラリの python ラッパーを生成しようとしています。SWIG に出会ったばかりで、これを distutils と組み合わせて使用しようとしています。私は他の誰かのコードを変更しているので、奇妙なエラーが予想されていましたが、これは混乱を招くだけです.
SWIG を使用して C++ ラッパー ファイルを生成することができました。現在、ラッパーをインストールするために修正バージョンの setup.py を実行しようとしています (それ自体が機能する場合と機能しない場合がありますが、それが来たらその橋を渡ります)。これを行うと、ヘッダー ファイルをインクルードできないというコンパイラ エラーがポップアップ表示されます。具体的には、string、ostream、sstream、map、および vector です。これらはすべて「include」として含まれる標準ライブラリです。
コード自体はコンパイルされますが、この方法でラッパーを作成しようとしてもコンパイルされません。
どの情報がこれに関連するかは完全にはわかりませんが、拡張機能は次のように作成されます。
## Extension definition
import os
wrapsrc = './project_rewrite_wrap.c'
incdir_src = os.path.abspath('../include/project')
incdir_build = os.path.abspath('../include/project')
libdir = os.path.abspath('../lib')
ext = Extension('_project_rewrite',
[wrapsrc],
include_dirs=[incdir_src, incdir_build],
library_dirs=[libdir, os.path.join(libdir,'.libs')],
libraries=['ProjectMain'])
実行される gcc コマンドは次のとおりです。
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/home/ben/Project/rewrite/include/Project -I/home/ben/Project/rewrite/インクルード/プロジェクト -I/usr/include/python2.6 -c ./project_rewrite_wrap.c -o build/temp.linux-i686-2.6/./project_rewrite_wrap.o
次のようなエラーが発生します。
./project_rewrite_wrap.c:2696:18: エラー: 文字列: そのようなファイルまたはディレクトリはありません
どんな考えでも大歓迎です、ありがとう。