有人可以告訴我我是否做錯了什麼。建築/包括VS2013中的Boost.Python
我在使用Visual Studio 2013的Windows 7上,我希望能夠設置一個簡單的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
大廈
我試圖按照從this SO thread in which KTC addresses Python指示,並this Python howto from Boost,但由於這兩個鏈接都有點過時,都做不同的事情,一些步驟似乎在新版本中已經改變的Boost,我不得不根據一些指示即興發揮。
這就是我所做的。
- 將Boost源文件的最新版本(1.55)解壓縮到
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
下找到。這是不應該有任何區別,應該嗎?Boosts official guide for 1.55沒有做出使用Command Prompt for VS2013
的任何具體提及。 - 在cmd中使用
bootstrap
。 - 編輯
project-config.jam
(由bootstrap
創建),並添加路徑我的Python 3.4安裝C:\Python34
。我.jam
文件現在看起來像在項目 - config.jam中看到。 - 用於CMD
.\b2
開始構建過程。雖然我在有很多的警告建成(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);
}
我有這個的蟒蛇,注意多include目錄:'使用python :3.5 :d:\\ \\溫度蟒蛇\\ \\ PCbuild#python.exe CMD-或前綴 :d:\ \ temp \\ python \\ include D:\\ temp \\ cpythonorig \\ PC :D:\\ temp \\ python \\ PCbuild;' – stijn
'using python:3.4:C:\\ Python34 \\ python; ' - 不是拖尾的'\\ python'多餘的? –
@UlrichEckhardt你這麼認爲?我不知道。我只是從[KTC的帖子中複製它]複製它(http://stackoverflow.com/questions/2629421/how-to-use-boost-in-visual-studio-2010/2655683#2655683)。但是我會很高興能夠幫助我發現錯誤。我的項目似乎正在工作,但我有一個警告,我無法擺脫,'1> c:\ python \ python34 \ include \ pymath.h(22):warning C4273:'round':inconsistent DLL連接「,所以也許我仍然做錯了什麼。 – Adelost