我的项目有很多包含多个项目的解决方案。有2个配置:
我们有第三方图书馆。我们应该为每个配置提供2个版本(使用/ MTd编译的/ MT和Debug版本编译的发行版本),还是只有一个版本(/ MT或/ MTd)?
由于 迪马
答案 0 :(得分:6)
通常,您还需要拥有该外部库的两个版本,并且一致地编译所有内容以进行调试或发布。问题是混合不同的C运行时(CRT,例如调试和释放CRT)可能会导致崩溃。
有一个例外,您只能使用发布版本:如果外部库是DLL,并且如果您没有将任何CRT对象从一个CRT传递到另一个CRT,则该限制不适用。 / p>
CRT对象是FILE指针,malloc块(仅当一个库分配,其他版本),当前语言环境的概念和时区概念。