Сборка / включая 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. Разархивировал последнюю версию (1.55) исходного файла Boost для C:\boost_1_55_0,
  2. Используемый 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,
  3. Используемый bootstrap в cmd.
  4. отредактированный project-config.jam (создано bootstrap) и добавил путь к моей установке Python 3.4 C:\Python34, мой .jam Теперь файл выглядит так, как показано в Project-Config.jam.
  5. Используемый .\b2 в cmd, чтобы начать процесс сборки. Пока у меня было много предупреждений во время постройки (forcing value to bool 'true' or 'false' (performance warning) и т. д.), после завершения сборки не было никаких сообщений об ошибках.

В том числе

Вот как я создал свой проект в Visual Studio.

  1. Создан новый проект.
  2. Добавлен код, как показано в тестовом коде.
  3. Под каталогами VC++ в свойствах проекта:
    1. добавленной C:\boost_1_55_0 в Include Directories,
    2. добавленной 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/ в моих зависимостях Включить и Библиотека.

Другие вопросы по тегам