2

ブースト ビルドを使用して OS X フレームワークにリンクするにはどうすればよいですか? 次のことを試しました(Jamrootで):

frameworks_directory = "/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/" ;

lib CoreFoundation
:
: <file>$(frameworks_directory)"CoreFoundation.framework/CoreFoundation"
:
: <include>$(frameworks_directory)"CoreFoundation.framework/Headers/" ;

exe Test : main.cpp CoreFoundation ;

ただし、これにより次のエラーが発生します(スペースの短縮):

error: target { /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation. } has no type

これは、CoreFoundation ファイルに拡張子がなく、boost-build がそのタイプを推測できないためだと推測されます。ファイルの種類を明示的に指定する方法や、OS X のフレームワークに他の方法でリンクする方法はありますか?

4

2 に答える 2

3

簡単な方法:

exe Test : main.cpp : <framework>CoreFoundation ;

もちろん、これは「darwin」ツールセットを使用していることを前提としています。また、インストールしたすべての SDK を認識できるように正しく設定してください。

于 2011-04-05T05:21:14.490 に答える
1

以下は機能しますが、「-frameworks」リンカー オプションをサポートするコンパイラを使用してビルドしていることを前提としています。

alias CoreFoundation : : : : <linkflags>"-framework CoreFoundation" ;

exe Test : main.cpp CoreFoundation ;

フレームワークにリンクしたいことを考えると、これはかなり合理的な仮定です!

于 2011-04-02T03:52:58.313 に答える