由于我的客户应该使用我的dll构建他的应用程序,所以我不想强制他使用特定的运行时版本。我希望我的dll能够绑定到客户应用程序使用的任何运行时库版本上(我可以假设他将使用动态链接来连接他的CRT)。毕竟,这不就是动态链接的全部意义吗?这可能吗?
编辑:将dll与静态运行时库链接也行不通,因为那样静态运行时(来自dll)和动态运行时(来自客户应用程序)会混合在一起,这是不好的。
编辑:我主要要问的是如何告诉运行时加载器将我的dll与应用程序链接的任何CRT关联起来?也许与清单有关?
更普遍地说,我的问题是如何构建一个表现良好的dll,供客户构建自己的应用程序使用?
编辑:由于答案中的建议,我已经将所有对std类的引用转换为内联函数,并将我的dll与静态运行时库链接。现在它似乎可以在链接不同CRT版本的应用程序中工作了。