windows下dll的调用有关问题,debug版的dll和release版的dll在同一目录下,怎么智能识别

windows下dll的调用问题,debug版的dll和release版的dll在同一目录下,如何智能识别
  如题, 现在我的cal3d.dll和cal3d_d.dll在同一目录下,我把此目录添加到环境变量中, 在debug下编译生成的程序如何知道它要调用的是cal3d_d.dll而不是cal3d.dll。 具体机制是怎样的, 在vs中的属性中有哪个对应的选项调整么?


windows dll vs

------解决方案--------------------
条件编译
#ifdef _DEBUG
#pragma comment(lib, "cal3d_d.lib")
#else
#pragma comment(lib, "cal3d.lib")
#endif
这是静态调用dll
动态类似,加载dll的时候用#if条件编译
------解决方案--------------------
你做个试验,#pragma只连接cal3d_d.lib ,然后把cal3d.dll移动到别的目录,看看是什么情况发生。