【问题标题】:if I change "runtime library" to MD, should I re-compile ALL MT libraries to MD?如果我将“运行时库”更改为 MD,我是否应该将所有 MT 库重新编译为 MD?
【发布时间】:2013-08-05 22:26:02
【问题描述】:

我正在使用 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,以使其工作得更快。但现在速度变慢了!

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2010-10-19
      • 1970-01-01
      • 2012-12-19
      • 1970-01-01
      • 2015-04-10
      • 1970-01-01
      • 1970-01-01
      • 2016-12-18
      • 1970-01-01
      相关资源
      最近更新 更多