无法编译简单的 Bullet Physics 应用程序
Posted
技术标签:
【中文标题】无法编译简单的 Bullet Physics 应用程序【英文标题】:Can't compile a simple Bullet Physics application 【发布时间】:2012-12-10 13:39:18 【问题描述】:我正在尝试在 Visual Studio 2012 Express 中编译 Bullel Physics Wiki 中的 the Hello World 程序。 我能够生成并导入运行示例所需的三个库项目,但是链接它们时似乎出现了问题。 在编译日志中有 38 个这样的错误,每个库都重复了很多次。
error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in Main.obj
我不明白出了什么问题。
【问题讨论】:
试着让你的程序处于“调试”或“发布”状态。 好像在说“你给我调试,我要发布!” 是的,我知道,但这真的很奇怪,因为我正在 Debug 中编译所有解决方案... 是的,反正也不管用。 【参考方案1】:如果依赖项目(生成 .lib)未包含在解决方案中并且因此未正确构建,您也可能会收到此错误。
【讨论】:
【参考方案2】:要检查的另一件事是项目配置窗口,您可以在该窗口中为解决方案的当前配置设置选择每个项目实际使用的配置。例如,我最近有一个解决方案,其中发布配置中有一个静态库项目设置为构建导致此错误的调试版本。
【讨论】:
【参考方案3】:添加到 TIHan 的答案
值得一看的地方是您的Linker->Input->Additional Dependencies
部分。我最后注意到我有一个发布版本链接到我的应用程序,而调试版本应该是链接的版本。我一改,错误就消失了。
【讨论】:
【参考方案4】:我也遇到过这个问题,一旦意识到就很容易解决。
确保所有项目的每个配置都匹配相同的运行时库。
更多信息: http://www.davidlenihan.com/2008/01/choosing_the_correct_cc_runtim.html
【讨论】:
以上是关于无法编译简单的 Bullet Physics 应用程序的主要内容,如果未能解决你的问题,请参考以下文章
Bullet Physics - 在身体的局部空间中应用扭矩脉冲