Qualcuno può dirmi se sto facendo qualcosa di sbagliato.Edificio/incluso Boost.Python in VS2013
Sono su Windows 7 utilizzando Visual Studio 2013 e mi piacerebbe essere in grado di impostare un semplice progetto Boost.Python. Non so se ho fatto qualcosa di sbagliato potenziamento o incluso boost nel mio progetto.
errore
Quando provo a #include
qualsiasi modulo python spinta, per esempio #include <boost/python/module.hpp>
Ottengo il seguente errore in 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
costruzione
ho cercato di seguire le istruzioni da this SO thread in which KTC addresses Python, e this Python howto from Boost, ma dal momento che entrambi i collegamenti sono po 'datato, stanno facendo le cose in modo diverso, e alcuni dei passaggi sembra essere cambiato nelle versioni più recenti di Boost, ho dovuto improvvisare su alcune delle istruzioni.
Questo è quello che ho fatto.
- Non decompresso l'ultima versione (1.55) del file di origine Boost su
C:\boost_1_55_0
. - Utilizzato
cmd.exe
per raggiungereC:\boost_1_55_0
. (Non ho usareDeveloper Command Prompt for VS2013
trovati sotto\Microsoft Visual Studio 12.0\Common7\Tools\Shortcuts
. Questo non dovrebbe fare alcuna differenza, dovrebbe? Boosts official guide for 1.55 non ha fatto alcuna menzione specifica di utilizzareCommand Prompt for VS2013
. - Usato
bootstrap
cmd. - A cura
project-config.jam
(creato dabootstrap
) e il percorso aggiunto alla mia Python 3.4 installazioneC:\Python34
. il mio file.jam
ora sembrava come si vede nella Project-Config.jam. - Usato
.\b2
in cmd per avviare il processo di compilazione. Mentre ho avuto un sacco di avvertimenti durante la costruito (forcing value to bool 'true' or 'false' (performance warning)
, ecc.), ha fatto non sembra che ci siano messaggi di errore dopo che il costruito è finito.
Compreso
Ecco come ho creato il mio progetto in Visual Studio.
- Creato un nuovo progetto.
- Codice aggiunto come visto in Codice di prova.
- Sotto Directory di VC++ in Proprietà del progetto:
- Aggiunto
C:\boost_1_55_0
-Include Directories
. - Aggiunto
C:\boost_1_55_0\stage\lib
(la cartella in cui sono stati trovati i file.lib
) aLibrary Directories
.
- Aggiunto
Project-Config.jam
import option ;
using msvc ;
option.set keep-going : false ;
using python : 3.4 : C:\\Python34\\python ;
codice di prova
Da: 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);
}
Ho avuto questo per Python, nota il multiplo includere le directory: 'utilizzando python : 3,5 : D: \\ Temp \\ pitone \\ PCbuild \\ python.exe # cmd-o-prefix : D: \ \ temp \\ python \\ include D: \\ temp \\ cpythonorig \\ PC : D: \\ temp \\ python \\ PCbuild; ' – stijn
' utilizzando python: 3.4: C: \\ Python34 \\ python; '- non è il superfluo tailing' \\ python'? –
@UlrichEckhardt La pensi così? Non lo saprei L'ho appena copiato da [post di KTC in questo battistrada] (http://stackoverflow.com/questions/2629421/how-to-use-boost-in-visual-studio-2010/2655683#2655683). Ma sarei felice per tutto ciò che mi aiuta a cogliere un errore. Il mio progetto sembra funzionare, ma ho un avvertimento di cui non posso sbarazzarmi, '1> c: \ python \ python34 \ include \ pymath.h (22): warning C4273: 'round': inconsistente collegamento dll quindi forse ho ancora fatto qualcosa di sbagliato. – Adelost