Я пытаюсь сгенерировать оболочку Python для библиотеки C ++, которую я собираю.Я только что столкнулся с SWIG и пытаюсь использовать это в сочетании с distutils.Я изменяю чей-то другой код, так что можно было ожидать странных ошибок, но эта просто сбивает с толку.
Мне удалось создать файл оболочки c ++ с помощью SWIG, и сейчас я пытаюсь запустить измененную версиюsetup.py для того, чтобы установить обертку (которая сама может работать или не работать, но я перейду этот мост, когда дело доходит до нее.) При выполнении этого компилятора всплывают ошибки о невозможности включить заголовочные файлы.В частности - строка, 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 / переписать / включить / Project -I / home / ben / Project / переписать / включить / Project -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: ошибка: строка: Нет такого файла или каталога
Любые мысли будут высоко оценены, спасибо.