Как создать файл JAMROOT для создания файла .so Python с cppObjConverter.cpp, связанным с общими библиотеками C ++

У меня есть 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 ;

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …