【问题标题】:Linker Errors while building a demo构建演示时的链接器错误
【发布时间】:2014-05-20 13:14:02
【问题描述】:

我最近购买了“使用 DirectX11 进行 3D 游戏编程”一书。我想尝试 CD 中的示例,为此我关注了 this 和许多其他支持论坛查询,但由于某种原因,它给了我以下链接器错误。

    1>------ Rebuild All started: Project: Box, Configuration: Debug Win32 ------
1> fxc compile for debug: C:\Users\HashTable\Documents\Visual Studio 2012\Projects\D3DSamples\Chapter 6 Drawing in Direct3D\Box\FX\color.fx
1> Microsoft (R) Direct3D Shader Compiler 9.29.952.3111
1> Copyright (C) Microsoft Corporation 2002-2009. All rights reserved.
1>
1> compilation succeeded; see color.cod
1> compilation succeeded; see C:\Users\HashTable\Documents\Visual Studio 2012\Projects\D3DSamples\Chapter 6 Drawing in Direct3D\Box\FX\color.fxo
1> BoxDemo.cpp
1> MathHelper.cpp
1> GeometryGenerator.cpp
1> GameTimer.cpp
1> d3dUtil.cpp
1> d3dApp.cpp
1> Generating Code...
1>Effects11d.lib(EffectAPI.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in d3dApp.obj
1>Effects11d.lib(EffectNonRuntime.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in d3dApp.obj
1>Effects11d.lib(EffectLoad.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in d3dApp.obj
1>Effects11d.lib(EffectReflection.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in d3dApp.obj
1>Effects11d.lib(d3dx11dbg.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in d3dApp.obj
1>Effects11d.lib(d3dxGlobal.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in d3dApp.obj
1>Effects11d.lib(EffectRuntime.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in d3dApp.obj
1>C:\Users\HashTable\Documents\Visual Studio 2012\Projects\D3DSamples\Chapter 6 Drawing in Direct3D\Box\Debug\Box.exe : fatal error LNK1319: 7 mismatches detected
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========

我尝试从 MSDN codeplex 和 DirectX SDK 2010 获得的代码在 VS 2012 中为效果库构建 Rel 和 Debug 版本。我已将它们移动到指定位置,但仍然出现这些错误。 任何帮助将不胜感激。

【问题讨论】:

    标签: visual-c++ visual-studio-2012 directx-11


    【解决方案1】:

    D3DX 库is deprecated

    但我认为图书 CD 中包含一个副本,因此请尝试从那里链接它。如果我没记错的话,请查看 Common 文件夹。

    不过,它已被弃用...

    【讨论】:

    • 作者建议从头开始构建效果库。这就是我一直在尝试构建它们的原因。但是 CD/在线代码库中的默认代码也不起作用。
    【解决方案2】:

    如果您在重建效果库后仍然看到这些错误,则可能是针对不同的平台。确保两个项目中的平台工具集相同:

    【讨论】:

    • 平台工具集对于库和项目都是相同的。它仍然无法正常工作。 :(
    • @Recker 那么也许你需要检查属性->链接器->常规->附加库目录和 VC++ 目录->库,以确保您刚刚构建的库是正在导入的库。
    猜你喜欢
    • 1970-01-01
    • 2018-01-20
    • 1970-01-01
    • 2018-10-04
    • 2016-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多