如果我将“运行时库”更改为MD,我应该将所有MT库重新编译为MD吗?

时间:2013-08-05 09:08:29

标签: visual-studio-2010 shared-libraries settings static-libraries

我正在使用VS2010并尝试将项目的“运行时库”设置从MT更改为MD。有很多“附加依赖”,如下所示。

  

cg.lib; cgGL.lib; cublas.lib; cuda.lib; cudart.lib; cufft.lib; curand.lib; cusparse.lib; glew64.lib; freetype248MT.lib; libpng15.lib; zlib.lib ; fbxsdk-2013.1.lib; ftgl.lib

问题是,我是否必须逐个将所有这些MT库重新编译为MD?或者我没有?无论如何都没有编译错误。但我想确定将库更改为MD是否更可靠/更快或更好。

这对我来说是一个至关重要的问题。请帮忙!我会提出更多问题以获得准确答案。

修改 我问这个的真正原因是,我在我的粒子模拟项目上应用了囤积,以使其更快地工作。但它现在变慢了!

1 个答案:

答案 0 :(得分:0)

您几乎肯定希望使用一致的运行时库,否则会发生各种可怕的事情。根据你在库中使用的内容,你可能会使用它,但这可能是一个坏主意。
MT是多线程静态的,MD是多线程动态的。 docs

  

“传递给链接器的给定调用的所有模块必须已经存在   使用相同的运行时库编译器选项(/ MD,/ MT,   / LD)。“