-1

我正在使用 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 是否更可靠/更快。

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

编辑: 我问这个的真正原因是,我在我的粒子模拟项目中应用了hoard,以使其工作得更快。不过现在慢了!

4

1 回答 1

0

您几乎可以肯定想要使用一致的运行时库,否则可能会发生各种可怕的事情。根据您从库中使用的内容,您可能会侥幸逃脱,但这可能不是一个好主意。
MT 是多线程静态的,MD 是多线程动态的。文档说_

“传递给链接器的给定调用的所有模块都必须使用相同的运行时库编译器选项(/MD、/MT、/LD)进行编译。”

于 2013-08-05T09:14:58.450 回答