У меня есть 3 общие библиотеки генерировать через C ++
1. libfile1.so
2. libfile2.so
3. libfile2.so
У меня также есть 2 внешних общих библиотеки
1. илистый-анализатор
2. Libcurl
У меня есть еще два файла:
1. Этот файл включает в себя библиотеки повышения
—> cppObjConverter.cpp
2. Этот файл вызывает объект cpp для получения данных в объектах python
—> cppObjCaller.py
Я хотел сгенерировать .so файл converter.so связаны с общими библиотеками c ++ для импорта в python.
Пожалуйста, предложите структуру файла Jamroot:
Пример файла, как показано ниже:
import python ;
if ! [ python.configured ]
{
ECHO "notice: no Python configured in user-config.jam" ;
ECHO "notice: will use default configuration" ;
using python ;
}
# Specify the path to the Boost project. If you move this project,
# adjust this path to refer to the Boost root directory
use-project converter_project
: ../../../.. ;
# Set up the project-wide requirements that everything uses the boost_python library from the project whose global ID is
/boost/python.
project
: requirements <library>/boost/python//boost_python
<implicit-dependency>/boost//headers
: usage-requirements <implicit-dependency>/boost//headers
;
# Declare the three extension modules. You can specify multiple source files after the colon separated by spaces.
python-extension converter :
cppObjConverter.cpp -L. -lfile1 -lfile1 -lfile1 -lboost_python ``pkg-config --cflags --libs gumbo`` -lcurl;
#I am not sure of above code line, I am expecting this as we do in c++ while generate object file linked to shared lib to generate common .so
# Put the extension and Boost.Python DLL in the current directory, so that running script by hand works.
install convenient_copy
: converter
: <install-dependencies>on <install-type>SHARED_LIB <install-type>PYTHON_EXTENSION
<location>.
;
# A little "rule" (function) to clean up the syntax of declaring tests of these extension modules.
local rule run-test ( test-name : sources + )
{
import testing ;
testing.make-test run-pyd : $(sources) : : $(test-name) ;
}
# Declare test targets
run-test doctest : converter cppObjCaller.py ;
Задача ещё не решена.
Других решений пока нет …