リンクしているライブラリによって条件コンパイルしたい

STATUS: 故障中

 汎用のライブラリを作っているとき、利用されるプロジェクトにリンクされているライブラリによって、条件コンパイル出来たら便利かなと思いました。
 特定のライブラリがリンクされていたら、それに関連する機能が有効になるとか。
 もちろん、コンパイルオプションでなにかシンボルを定義して条件コンパイルすればいいんだろうけど、めんどくさいなあと思って。
 コンパイラ(というかプリプロセッサ)からは、リンカへのパラメータなんか知らんということなんだろうけど、VisualStudio限定でいいので、こういう記法アリにならないかなあ。

● #iflink ディレクティブの使用例

 winmm.lib(timeGetTime APIに必要)がリンクされているかによって、条件コンパイルされる。

#iflink winmm.lib
#include "mmsystem.h"
#endif

#iflink winmm.lib
        // 高精度なマルチメディアタイマーを使用
        timeBeginPeriod(1);
        DWORD dwTime = timeGetTime();
#else
        // ライブラリが無いので通常のタイマーを使用
        DWORD dwTime = GetTickTime();
#endif

コメント