Я пытаюсь заставить работать библиотеку. python - особенно учебный проект. Я сидел буквально несколько часов, но каждый раз, когда я зацикливаюсь на чем-то новом, надеюсь, что кто-нибудь сможет мне помочь. Это самое дальнее, что я получил:
Моя среда Windows 10 64-битная, версия Boost 1_72_0 загружена с официального сайта. Я извлек ее в C:/boost/boost_1_72_0
, затем добавил эту папку в переменную окружения PATH
и в командной строке cd
'd в ней и запустил сценарий bootstrap.sh
. Пока все хорошо.
Затем я создал user-config.jam
файл в %HOMEDRIVE%%HOMEPATH% (i.e. C:/Users/Papooch)
со следующим содержимым:
# MSVC configuration
using msvc : 14.11 ;
# Python configuration
using python
: 3.7
: "C:\\Users\\Papooch\\Anaconda3\\python.exe"
: "C:\\Users\\Papooch\\Anaconda3\\include"
: "C:\\Users\\Papooch\\Anaconda3\\libs"
: <define>BOOST_ALL_NO_LIB=1
;
Затем я открыл командную строку разработчика для VS 2017 и cd
попал в тот же каталог и запустил
b2 --with-python
Пока все хорошо.
Теперь о части, с которой я борюсь: Когда я пытаюсь построить пример в C:\Boost\boost_1_72_0\libs\python\example\tutorial
используя g2
, я получаю следующий вывод:
C:\Boost\boost_1_72_0\libs\python\example\tutorial>b2
...found 21 targets...
...updating 9 targets...
msvc.write-setup-script ..\bin\standalone\msvc\msvc-14.11\msvc-setup.bat
compile-c-c++ hello.obj
hello.cpp
hello.cpp(7): fatal error C1083: Cannot open include file: 'boost/python/module.hpp': No such file or directory
call "..\bin\standalone\msvc\msvc-14.11\msvc-setup.bat" >nul
cl /Zm800 -nologo @"hello.obj.rsp"
...failed compile-c-c++ hello.obj...
...skipped <p.>hello_ext.dll for lack of <p.>hello.obj...
...skipped <p.>hello for lack of <p.>hello_ext.dll...
...skipped <p.>hello_ext.pdb for lack of <p.>hello.obj...
...failed updating 1 target...
...skipped 4 targets...
...updated 5 targets...
Очевидно, что путь включения не содержит папку boost, поэтому я запускаю
b2 include=C:\Boost\boost_1_72_0
, но затем получаю это:
C:\Boost\boost_1_72_0\libs\python\example\tutorial>b2 include=%BOOST_ROOT%
...patience...
...found 1054 targets...
...updating 5 targets...
compile-c-c++ hello.obj
hello.cpp
msvc.link.dll hello_ext.dll
LINK : fatal error LNK1181: cannot open input file 'boost_python.lib'
call "..\bin\standalone\msvc\msvc-14.11\msvc-setup.bat" >nul
link /NOLOGO /INCREMENTAL:NO /DLL /NOENTRY /DEBUG /MACHINE:X86 /MANIFEST /subsystem:console /out:"hello_ext.dll" /LIBPATH:"C:\Users\Papooch\Anaconda3\libs" @"hello_ext.dll.rsp"
if %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL%
...failed msvc.link.dll hello_ext.dll hello_ext.pdb hello_ext.pdb...
...skipped <p.>hello for lack of <p.>hello_ext.dll...
...failed updating 2 targets...
...skipped 2 targets...
...updated 1 target...
И я застрял. Файл boost_python.lib
не существует нигде на моем компьютере, и я не знаю, как поступить.
Обратите внимание, что я довольно неопытен в создании чего-то большего, чем простые автономные программы на С ++, поэтому, пожалуйста, будьте осторожны.