Ссылка на платформу OS X с надстройкой - PullRequest
2 голосов
/ 01 апреля 2011

Как мне связать со средой OS X использование boost build? Я пробовал следующее (в 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?

Ответы [ 2 ]

3 голосов
/ 05 апреля 2011

Простой способ:

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

Это, конечно, при условии, что вы используете набор инструментов "Дарвин".И установите его правильно, чтобы он знал обо всех установленных вами SDK.

1 голос
/ 02 апреля 2011

Следующее работает, но предполагает, что вы строите с использованием компилятора, который поддерживает опцию компоновщика "-frameworks":

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

exe Test : main.cpp CoreFoundation ;

Это довольно разумное предположение, учитывая, что вы хотите создать ссылку на фреймворк!

...