0

私は条件付きでリンクしようとしています..定義による静的ライブラリ。これはxcodeで可能ですか? 基本的に、ライブラリ固有のコードを ifdefs でラップして、コンパイル時にフラグを設定して除外できるようにします。

4

1 に答える 1

1

いいえ、C#defineはライブラリ リンケージと同じレベルではありません。

#defineただし、のようなカスタム ビルド設定の値から (Preprocessor Macros ビルド設定を介して) C を設定BUILT_WITH_FOOすることもOTHER_LDFLAGS、そのカスタム ビルド設定に基づいてビルド設定を設定することもできます。

例えば:

BUILT_WITH_FOO = foo

GCC_PREPROCESSOR_DEFINITIONS_ = USING_FOO=0
GCC_PREPROCESSOR_DEFINITIONS_foo = USING_FOO=1
GCC_PREPROCESSOR_DEFINITIONS = $(GCC_PREPROCESSOR_DEFINITIONS_$(BUILT_WITH_FOO))

OTHER_LDFLAGS_ = -lsomething
OTHER_LDFLAGS_foo = -lsomething -lfoo
OTHER_LDFLAGS = $(OTHER_LDFLAGS_$(BUILT_WITH_FOO))

上記では、BUILT_WITH_FOOビルド設定の値のみを調整し_て、名前が末尾に_foo.

于 2009-11-24T06:01:15.123 に答える