0

Windows 7、python 2.7.3 で Boost.Python 1.54.0 をセットアップしようとしています。boost_1_54_0 をインストールし、Visual Studio 2010 でビルドしました。ディストリビューションでクイックスタートとチュートリアルのサンプルをビルドして実行できます (Jamroot のライブラリ パス要件として MSVC lib ディレクトリをいくつか追加する必要がありましたが、それで問題ありません)。しかし、チュートリアルの例を実際のプロジェクトのようにするために、boost dist ディレクトリ内ではなく別のディレクトリにコピーすると、bjam でビルド エラーが発生します。Jamroot の use-project boost の場所を /local/boost_1_54_0/ に変更しました。これは、boost 自体をインストールする場所であり、単純な 1 行の boost-build.jam を追加しました (オンラインで見つけたものに基づいています)。

boost-build C:/local/boost_1_54_0/tools/build/v2 ;

しかし、最終的に bjam は私にこのエラーを与えます:

% bjam
notice: no Python configured in user-config.jam
notice: will use default configuration
C:/local/boost_1_54_0/tools/build/v2/build\project.jam:262: in find-jamfile from module project
error: Unable to load Jamfile.
error: Could not find a Jamfile in directory '/local/boost_1_54_0'.
error: Attempted to find it with pattern '[Bb]uild.jam [Jj]amfile.v2 [Jj]amfile [Jj]amfile.jam'.
error: Please consult the documentation at 'http://www.boost.org'.
C:/local/boost_1_54_0/tools/build/v2/build\project.jam:280: in load-jamfile from module project
C:/local/boost_1_54_0/tools/build/v2/build\project.jam:64: in load from module project
C:/local/boost_1_54_0/tools/build/v2/build\project.jam:89: in load-used-projects from module project
C:/local/boost_1_54_0/tools/build/v2/build\project.jam:75: in load from module project
C:/local/boost_1_54_0/tools/build/v2/build\project.jam:145: in project.find from module project
C:/local/boost_1_54_0/tools/build/v2\build-system.jam:535: in load from module build-system
C:\local\boost_1_54_0\tools\build\v2/kernel\modules.jam:289: in import from module modules
C:\local\boost_1_54_0\tools\build\v2/kernel/bootstrap.jam:139: in boost-build from module
C:\tmp\tutorial\boost-build.jam:1: in module scope from module

他に何を追加する必要がありますか、または何が間違っていますか?

4

1 に答える 1

0

私はこれのために bjam をあきらめてしまい、SCons だけを使用しました。単純な SConstruct で十分です。

# SConstruct for building boost python tutorial example

import os

boost_python_lib = 'boost_python-vc100-gd-1_54'
boost_top        = 'c:/boost'
python_top       = 'c:/python27'

env=Environment(TARGET_ARCH='x86',
                CCFLAGS=['/MDd', '/DEBUG', '/EHsc'],
                CPPPATH=[os.path.join(boost_top,'include/boost-1_54'),
                         os.path.join(python_top, 'include')],
                LIBPATH=[os.path.join(boost_top, 'lib/i386'),
                         os.path.join(python_top, 'libs')])
dll=env.SharedLibrary('hello_ext', 'hello.cpp',
                      LIBS=boost_python_lib)
env.InstallAs('hello_ext.pyd', dll[0])
# Copy the boost python lib into this dir so hello_ext will find it at runtime
env.Install('.', os.path.join(boost_top, 'lib/i386', '%s.dll'%boost_python_lib))

もちろん、これを使って実際の SConsツールを作成することもできますが、それで十分でした。それが他の人に役立つことを願っています。

于 2013-10-08T19:53:03.190 に答える