I have been trying to get Boost.Python running . I am following the steps mentioned here
http://www.boost.org/doc/libs/1_50_0/libs/python/doc/tutorial/doc/html/python/hello.html
. However when i try to run a sample program from the tutorial directory i get the following error . Also the python script namely hello.py gets removed . How do i get 2 errors that i cant seem to correct .
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>
My Python version is
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
I had a prior old version of Python32 installed but it seems it keeps searching for it . My PYTHON_INLCUDE & PYTHON_LIBRARY both point to the new python and also the PATH environment variable .
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>
Why does the hello.py file keep getting removed :( and what systax is incorrect
You have to set configurate your user-config.jam file. It seems that Boost.Python only find your Python 3.2 version. You will find the user-config.jam file in your Home Directory (ECHO %HOMEDRIVE%%HOMEPATH%) or search in the boost root directory for the "user-config.jam" file.
Than you have to modify this file for your use as followed (its only an example):
the MSVC config (if you use 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 ;
and the Python configuration
# ---------------------
# 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
;
I had the same problem ("The syntax of the command is incorrect") yesterday while compiling Boost 1.53. I was able to work around the problem by editing the file tools/build/v2/tools/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
{
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.