7

VisualStudio2012を使用しています。

私は何度もプリプロセッサディレクティブを使用しました

#ifdef something 
      #include<some_header.h>
#else
      #include<other_header.h>
#endif

同様の方法で静的ライブラリをリンクできるかどうか疑問に思いました。

#ifdef something 
      // use some_library.lib
#else
      // use other_library.lib
#endif

質問は、私の前の質問の主題から来ました:名前空間のない2つの静的ライブラリlib1.lib、lib2.lib(それらのコードではない)があり、関数プロトタイプは同じですが、実装が異なります。

4

1 に答える 1

9

MSVCを使用している場合は、次のことができます。

#ifdef something 
      #pragma comment(lib,"xxx.lib")
#else
      #pragma comment(lib,"zzz.lib")
#endif

GCCではこれを行うことはできません。

于 2013-03-19T15:07:21.883 に答える