2012-01-26 13 views

答えて

6

私はwafで "create_lib"について聞いたことがないので、その機能が何であるか分かりませんが、とにかく質問に答えようとします。以下では、単純なプロジェクトをセットアップする典型的な方法(Linux上)である非常に基本的なwscriptがあります。もしwafがそれが主張しているようにプラットフォームに依存しないものであれば、これはウィンドウにも有効です。私はそれをテストしていない。これにより、シンプルな共有ライブラリが作成されます。

def options(opt): 
    opt.load('compiler_cxx') 

def configure(cfg): 
    cfg.load('compiler_cxx') 
    cfg.check(compiler='cxx', 
       lib='winmm', 
       mandatory=True, 
       uselib_store='WINMM') 
def build(bld) 
    srcs = ['timers.cpp'] 
    libs = ['WINMM'] 
    incs = ['.'] 
    bld(features=['cxx','cxxshlib'], 
     source=srcs, 
     includes=incs, 
     target='timers',, 
     use=libs, 
     ) 

将来的には、あなたの質問に簡単に答えるために、wscriptとスタックトレース全体を提供してください。

+0

ありがとうございました! – kakush

+0

これがあなたの質問に答えるなら、それを答えとして受け入れてください。 – Doran

0

私はこれを考え出したし、次のような手順は次のとおりですWScriptのファイルで構成機能のチェック次

を追加しました。これはスクリプトに与えられたライブラリファイル(この場合はlibmongoclient)をチェックするように指示し、このチェックの結果をMONGOCLIENTに格納します。

conf.check_cfg(package='libmongoclient', args=['--cflags', '--libs'], uselib_store='MONGOCLIENT', mandatory=True) 

この手順の後、パッケージ設定ファイル(.pc)を/ usr/local/lib/pkgconfigパスに追加する必要があります。これは、libとヘッダへのパスを指定するファイルです。以下にこのファイルの内容を貼り付けます。

prefix=/usr/local 
libdir=/usr/local/lib 
includedir=/usr/local/include/mongo 

Name: libmongoclient 
Description: Mongodb C++ driver 
Version: 0.2 
Libs: -L${libdir} -lmongoclient 
Cflags: -I${includedir} 

は、上記ライブラリー(すなわちMongoClient)に依存sepcificプログラムのビルド機能に依存性を追加しました。以下は例です。

mobility = bld(target='bin/mobility', features='cxx cxxprogram', source='src/main.cpp', use='mob-objects MONGOCLIENT',) 

この後、configureを再度実行し、コードをビルドします。

関連する問題