1>------ Build started: Project: Setup, Configuration: Debug Win32 ------
1>BoxDemo.obj : error LNK2019: unresolved external symbol _D3DX11CreateEffectFromMemory@24 referenced in function "private: void __thiscall BoxApp::BuildFX(void)" (?BuildFX@BoxApp@@AAEXXZ)
1>C:\Users\Josh\Documents\Game Institute\DirectX\Chapter 1\Projects\Setup\Debug\Setup.exe : fatal error LNK1120: 1 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========我正在使用VS2012,并试图使用Frank DX11图书中的示例程序来设置DX11。我不知道这个错误信息意味着什么,任何帮助都将不胜感激。
1>------ Build started: Project: Setup, Configuration: Debug Win32 ------
1>Effects11d.lib(EffectAPI.obj) : error LNK2019: unresolved external symbol _D3DCompileFromFile@36 referenced in function _D3DX11CompileEffectFromFile
1>C:\Users\Josh\Documents\Game Institute\DirectX\Chapter 1\Projects\Setup\Debug\Setup.exe : fatal error LNK1120: 1 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========发布于 2013-05-20 10:19:34
链接器找不到D3DX11CreateEffectFromMemory函数的定义。这个函数是Effects11框架的一部分。您需要链接Effects11.lib来构建这个程序。
以前,要开发DirectX应用程序,您必须安装了DirectX SDK。现在,独立的DirectX SDK涉及到遗留问题,现在它是Windows的一部分(自版本8.0以来)。你在安装Visual 2012时得到了它。
现在的问题是,这个SDK版本不包括Effect11框架等。
有几种方法可以解决这个问题:
v110xp工具集,或者安装Windows 7 SDK,并在项目的选项中切换到v100。Common文件夹中包含了已编译的库。但我不确定它是否适用于Win8 SDK。查克·沃尔波恩-MSFT的更多解释:
https://stackoverflow.com/questions/16642989
复制相似问题