我正在构建一个将由 C 和 C++ 应用程序使用的 C++ dll。我知道 /MT 会导致静态库 (LIBCPMT.LIB) 代码被转储到我的 dll 中,因此没有依赖性。/MD 将链接到导入库,并将依赖于 C++ 运行时 (MSVCP100.dll)。
我的疑惑:
在 /MD 选项中,我是否必须确保正确版本的 C++ 运行时 dll(我在开发期间链接到的导入库)存在于 Windows 操作系统上?
我是否需要关心使用我的 dll 的应用程序链接到哪个 C/C++ 运行时?我想使用 C++11 功能,但想确保旧的 C++ 应用程序仍然可以使用我的 dll。
我现在计划使用 VS 2012 RC,我认为他们的 C++ 运行时库已经更新。是否会再次依赖于代码将在哪个版本的 Windows 上执行或使用我的 dll 的应用程序使用的库?