リンクしているライブラリによって条件コンパイルしたい
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