首页 > 电脑专区 > 电脑教程 >

DirectX程序编译出现LNK2001错误怎么办

来源:互联网 2023-02-20 23:28:45 286

在使用 DirectX 编程,尤其是其中的 DirectInput 组件时,很容易发生 LNK2001 错误,提示“无法解析的外部符号”……甚至,就连照搬某些前两年才出版的 DirectX 参考书(不乏经典名作)中的源代码也常常会发生此类错误,导致编译失败。AH4办公区 - 实用经验教程分享!

那么,出现这种情况时,该如何解决呢?下面,我们就以 VS2013 为例,来教大家解决的方法。AH4办公区 - 实用经验教程分享!

DirectX程序编译出现LNK2001错误怎么办AH4办公区 - 实用经验教程分享!

工具/原料

  • VS2013

一、现象描述

  • 1

    在本机上已经正确安装 DirectX SDK,并且正确配置的情况下,使用 DirectX 中的 DirectInput 组件编写程序时,在编译过程中提示 "LNK2001:无法解析的外部符号……“,导致编译失败。AH4办公区 - 实用经验教程分享!

    DirectX程序编译出现LNK2001错误怎么办AH4办公区 - 实用经验教程分享!

  • 2

    仔细检查相应的库和头文件,似乎尽数包含。AH4办公区 - 实用经验教程分享!

    DirectX程序编译出现LNK2001错误怎么办AH4办公区 - 实用经验教程分享!

  • 2本页面未经授权抓取自百度经验
  • 3

    而且,根据出错提示,查找相应的符号时(即函数或宏定义等),却发现它们已经在源代码中定义了。AH4办公区 - 实用经验教程分享!

    DirectX程序编译出现LNK2001错误怎么办AH4办公区 - 实用经验教程分享!

    DirectX程序编译出现LNK2001错误怎么办AH4办公区 - 实用经验教程分享!

  • 二、解决办法

  • 1

    究其原因,是由于代码中使用了预定义的GUID(全局唯一标识符)或某些宏定义,却没有链接以下库文件:dxguid.lib。AH4办公区 - 实用经验教程分享!

    DirectX程序编译出现LNK2001错误怎么办AH4办公区 - 实用经验教程分享!

  • 2

    这时,尽管你包含了相应的头文件(这些文件中含有相关的定义信息),编译器也无法识别该 GUID 或相应的宏定义。AH4办公区 - 实用经验教程分享!

    DirectX程序编译出现LNK2001错误怎么办AH4办公区 - 实用经验教程分享!

  • 3

    当然,只要找到原因了,解决办法也是相当简单:将以下语句加入到随便一个头文件或源文件中即可。AH4办公区 - 实用经验教程分享!

    DirectX程序编译出现LNK2001错误怎么办AH4办公区 - 实用经验教程分享!

  • 4

    加好以后,点击菜单”生成“-”重新生成解决方案“,就可以成功编译了。AH4办公区 - 实用经验教程分享!

    DirectX程序编译出现LNK2001错误怎么办AH4办公区 - 实用经验教程分享!

  • 注意事项

    • 要想编译成功,你的代码必须除此之外没有其他错误。

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!AH4办公区 - 实用经验教程分享!


    标签: 错误程序编译

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码