2012-12-21 68 views
0

我一直在試圖讓Boost.Python運行。我下面在這裏Boost Python hello示例給出錯誤。

http://www.boost.org/doc/libs/1_50_0/libs/python/doc/tutorial/doc/html/python/hello.html

提到的步驟。但是,當我嘗試從教程目錄運行示例程序時出現以下錯誤。此外,Python腳本,即hello.py被刪除。我如何得到2我似乎無法改正的錯誤。

C:\boost_1_50_0\libs\python\example\tutorial>b2 
notice: no Python configured in user-config.jam 
notice: will use default configuration 
...patience... 
...patience... 
...found 1621 targets... 
...updating 20 targets... 
common.mkdir bin 
common.mkdir bin\hello.test 
common.mkdir bin\hello.test\msvc-10.0 
common.mkdir bin\hello.test\msvc-10.0\debug 
common.mkdir bin\hello.test\msvc-10.0\debug\threading-multi 
copy hello.py 
**The syntax of the command is incorrect. 

    copy /b + this-file-does-not-exist-A698EE7806899E69 "hello.py" "bin\hello.t 
est\msvc-10.0\debug\threading-multi\hello.py" 

...failed copy hello.py bin\hello.test\msvc-10.0\debug\threading-multi\hello.py. 
.. 
...removing hello.py** 
common.mkdir bin\msvc-10.0 
common.mkdir bin\msvc-10.0\debug 
common.mkdir bin\msvc-10.0\debug\threading-multi 
compile-c-c++ bin\msvc-10.0\debug\threading-multi\hello.obj 
hello.cpp 
msvc.link.dll ..\..\..\..\bin.v2\libs\python\build\msvc-10.0\debug\threading-mul 
ti\boost_python-vc100-mt-gd-1_50.dll 
**LINK : fatal error LNK1104: cannot open file 'python32.lib'** 

     call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.b 
at" x86 >nul 
link /NOLOGO /INCREMENTAL:NO /DLL /DEBUG /MACHINE:X86 /subsystem:console /out:". 
.\..\..\..\bin.v2\libs\python\build\msvc-10.0\debug\threading-multi\boost_python 
-vc100-mt-gd-1_50.dll" /IMPLIB:"..\..\..\..\bin.v2\libs\python\build\msvc-10.0\d 
ebug\threading-multi\boost_python-vc100-mt-gd-1_50.lib" /LIBPATH:"C:\Python33\li 
bs" @"..\..\..\..\bin.v2\libs\python\build\msvc-10.0\debug\threading-multi\boo 
st_python-vc100-mt-gd-1_50.dll.rsp" 
     if %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL% 

...failed msvc.link.dll ..\..\..\..\bin.v2\libs\python\build\msvc-10.0\debug\thr 
eading-multi\boost_python-vc100-mt-gd-1_50.dll ..\..\..\..\bin.v2\libs\python\bu 
ild\msvc-10.0\debug\threading-multi\boost_python-vc100-mt-gd-1_50.lib ..\..\..\. 
.\bin.v2\libs\python\build\msvc-10.0\debug\threading-multi\boost_python-vc100-mt 
-gd-1_50.pdb... 
...skipped <pbin\msvc-10.0\debug\threading-multi>hello_ext.pyd for lack of <p..\ 
..\..\..\bin.v2\libs\python\build\msvc-10.0\debug\threading-multi>boost_python-v 
c100-mt-gd-1_50.lib... 
....... 
....... 

...failed updating 4 targets... 
...skipped 7 targets... 
...updated 9 targets... 

C:\boost_1_50_0\libs\python\example\tutorial> 

我的Python版本是

C:\boost_1_50_0\libs\python\example\tutorial>python 
Python 3.3.0 (v3.3.0:bd8afb90ebf2, Sep 29 2012, 10:57:17) [MSC v.1600 64 bit (AM 
D64)] on win32 
Type "help", "copyright", "credits" or "license" for more information. 
>>> python --version 

我有一個以前舊版本安裝Python32,但現在看來,這一直尋找它。我的PYTHON_INLCUDE & PYTHON_LIBRARY都指向新的python以及PATH環境變量。

C:\boost_1_50_0\libs\python\example\tutorial> echo %python_lib%\ 
C:\Python33\libs\python33.lib\ 

C:\boost_1_50_0\libs\python\example\tutorial> echo %python_include%\ 
C:\Python33\include\ 

C:\boost_1_50_0\libs\python\example\tutorial> 

爲什麼hello.py文件繼續得到去除:(什麼systax是不正確

回答

0

昨天我有同樣的問題(「該命令的語法不正確」)而編制升壓1.53。我可以通過編輯文件工具/編譯/ V2 /工具/ common.jam來解決這個問題:

--- common.jam~ 2012-04-25 21:35:54.000000000 +0200 
+++ common.jam 2013-03-07 13:33:30.985604300 +0100 
@@ -473,7 +473,7 @@ 
    # destination to the current time by concatenating the 
    # source with a nonexistent file. Note that this requires 
    # /b (binary) as the default when concatenating files is /a (ascii). 
- WINDOWS-CP-HACK = "+ this-file-does-not-exist-A698EE7806899E69" ; 
+ WINDOWS-CP-HACK = "" ; 
} 
else 
{ 
1

你必須設置configurate您的用戶config.jam中的文件似乎Boost.Python的只能找到你的Python 3.2版本,你會在你的Home Direc中找到user-config.jam文件ctory(ECHO%HOMEDRIVE %% HOMEPATH%)或在boost根目錄中搜索「user-config.jam」文件。

比你要修改這個文件爲您的使用如遵循(它只是一個例子):

MSVC的配置(如果你使用MSVC)

# ------------------- 
# MSVC configuration. 
# ------------------- 

# Configure msvc (default version, searched for in standard locations and PATH). 
# using msvc ; 

# Configure specific msvc version (searched for in standard locations and PATH). 
using msvc : 10.0 : C:\\app\\tools\\MSVisualStudio2010\\VC\\bin\\cl.exe ; 

和Python的配置

# --------------------- 
# Python configuration. 
# --------------------- 

# Configure specific Python version. 
# using python : 3.1 : /usr/bin/python3 : /usr/include/python3.1 : /usr/lib ; 

using python 
    : 2.5     # Version 
    : C:\\app\\tools\\Python25\\python.exe  # Python Path 
    : C:\\app\\tools\\Python25\\include   # include path 
    : C:\\app\\tools\\Python25\\libs   # lib path(s) 
    : <define>BOOST_ALL_NO_LIB=1 
    ;