Сборка / включая Boost.Python в VS2013
Может кто-нибудь сказать мне, если я делаю что-то не так.
Я на Windows 7 использую Visual Studio 2013, и я хотел бы иметь возможность настроить простой проект Boost.Python. Я не знаю, сделал ли я что-то неправильное ускорение здания или когда включил повышение в моем проекте.
ошибка
Когда я пытаюсь #include
любой дополнительный модуль python, например #include <boost/python/module.hpp>
Я получаю следующую ошибку в Visual Studio.
1>c:\boost_1_55_0\boost\python\detail\wrap_python.hpp(50): fatal error C1083: Cannot open include file: 'pyconfig.h': No such file or directory
Строительство
Я пытался следовать инструкциям из этого SO-потока, в котором KTC обращается к Python, и к этому Python howto из Boost, но, поскольку обе ссылки устарели, они работают по-разному, и некоторые шаги, по-видимому, изменились в более новых версиях Boost, Я должен был импровизировать на некоторых инструкциях.
Это то, что я сделал.
- Разархивировал последнюю версию (1.55) исходного файла Boost для
C:\boost_1_55_0
, - Используемый
cmd.exe
перейти кC:\boost_1_55_0
, (Я не использовалDeveloper Command Prompt for VS2013
найдено под\Microsoft Visual Studio 12.0\Common7\Tools\Shortcuts
, Это не должно иметь никакого значения, не так ли? В официальном руководстве Boots для 1.55 не упоминается об использованииCommand Prompt for VS2013
, - Используемый
bootstrap
в cmd. - отредактированный
project-config.jam
(созданоbootstrap
) и добавил путь к моей установке Python 3.4C:\Python34
, мой.jam
Теперь файл выглядит так, как показано в Project-Config.jam. - Используемый
.\b2
в cmd, чтобы начать процесс сборки. Пока у меня было много предупреждений во время постройки (forcing value to bool 'true' or 'false' (performance warning)
и т. д.), после завершения сборки не было никаких сообщений об ошибках.
В том числе
Вот как я создал свой проект в Visual Studio.
- Создан новый проект.
- Добавлен код, как показано в тестовом коде.
- Под каталогами VC++ в свойствах проекта:
- добавленной
C:\boost_1_55_0
вInclude Directories
, - добавленной
C:\boost_1_55_0\stage\lib
(папка, где я мог найти.lib
файлы) вLibrary Directories
,
- добавленной
Проект-Config.jam
import option ;
using msvc ;
option.set keep-going : false ;
using python : 3.4 : C:\\Python34\\python ;
Тестовый код
От: boost_1_55_0\libs\python\example\getting_started1.cpp
#include <boost/python/module.hpp>
#include <boost/python/def.hpp>
#include <string>
namespace
{
// A couple of simple C++ functions that we want to expose to Python.
std::string greet() { return "hello, world"; }
int square(int number) { return number * number; }
}
namespace python = boost::python;
BOOST_PYTHON_MODULE(getting_started1)
{
// Add regular functions to the module.
python::def("greet", greet);
python::def("square", square);
}
1 ответ
Кажется, мне просто нужно было добавить путь к Python34/include/
а также Python34/libs/
в моих зависимостях Включить и Библиотека.