Я установил буст на своей маме c (Каталина 10.15.3), используя brew. Все сшито до go нормально с установкой. Для установки я следовал инструкциям здесь: https://www.pyimagesearch.com/2015/04/27/installing-boost-and-boost-python-on-osx-with-homebrew/
Единственное отличие, я не смог включить флаг --with- python, так как он больше не является option.
Я пытаюсь следовать руководству по быстрому запуску здесь: https://en.wikibooks.org/wiki/Python_Programming/Extending_with_C%2B%2B
Я создал каталог со следующим путем: ~ / PythonExtensionTest, и он содержит два файла: hellomodule. cpp и setup.py.
Это следующие файлы:
hellomodule. cpp:
#include <iostream>
using namespace std;
void say_hello(const char* name) {
cout << "Hello " << name << "!\n";
}
#include <boost/python/module.hpp>
#include <boost/python/def.hpp>
using namespace boost::python;
BOOST_PYTHON_MODULE(hello)
{
def("say_hello", say_hello);
}
setup. py:
from distutils.core import setup
from distutils.extension import Extension
setup(name="PackageName",
ext_modules=[
Extension("hello", ["hellomodule.cpp"],
libraries = ["boost_python"])
])
С терминала, в этом каталоге, я запускаю команду:
$ python3 setup.py build
Вывод на терминал :
выполняется сборка работает build_ext сборка 'hello' расширение g cc -Wno-unused-result -Wsign-сравнить -Wunreachable-код -fno-common -dynami c -DNDEBUG -g -fwrapv - O3 -Wall -arch x86_64 -g -I / Библиотека / Каркасы / Python .рамка / Версии / 3.8 / include / python3 .8 - c hellomodule. cpp -o build / temp.macosx-10.9 -x86_64-3.8 / ч ellomodule.o g ++ -bundle-не определено dynamic_lookup -arch x86_64 -g build / temp.macosx-10.9-x86_64-3.8 / hellomodule.o -lboost_ python -o build / lib.macosx-10.9-x86_64-3.8 / привет. cpython -38-darwin.so ld: библиотека не найдена для -lboost_python clang: error: сбой команды компоновщика с кодом выхода 1 (используйте -v для просмотра вызова) ошибка: сбой команды «g ++» с состоянием выхода 1
Я не уверен, где должна находиться эта библиотека (или как ее найти на моем компьютере), и я также не уверен, как включить ее в путь. Я посмотрел на что-нибудь похожее, но ничего не помогло.
Любой совет приветствуется.