如何使用 Direct8 dll 编译/调试 Visual Studio 2012 Win32 项目

Posted

技术标签:

【中文标题】如何使用 Direct8 dll 编译/调试 Visual Studio 2012 Win32 项目【英文标题】:How can I compile/debug Visual Studio 2012 Win32 project with Direct8 dlls 【发布时间】:2013-01-28 10:47:28 【问题描述】:

我是 Win32 的新手。

错误 LNK2019:无法解析的外部符号 _DirectDrawCreateEx@16 在函数“int __cdecl DD_Init(int,int,int)”中引用 (?DD_Init@@YAHHHH@Z)

显示当我尝试在 Win7 VS2012(安装了 directx 11)上运行 direct8 Win32 项目时,我可以在 vs2012 中使用 direct8 dll 编译 win32 项目吗?

【问题讨论】:

【参考方案1】:

您尝试使用的 DirectX 版本非常旧。但我相当确定它仍然受支持,我看到 DirectDrawCreateEx() 仍然存在于最新的 Windows SDK 版本 8 中,它包含在 VS2012 中。请避免按照其他答案中的建议安装旧 SDK,它不会对 VS2012 有任何了解,并且可能会部署严重过时的组件,这些组件可能会影响您的机器。 DirectX 不久前集成在 Windows SDK 中。

Project > Properties > Linker > Input > Additional Dependencies 设置。添加ddraw.lib

【讨论】:

Thx,在 VS2012 中使用 dx9 编译的 Win7 上运行良好,但除了在 Additional Dependencies 设置中添加 ddraw.lib 外,如果引用 dx 版本,还需要在 Linker 的 General 选项中指定 Additional Librart 目录因系统而异。【参考方案2】:

确保您已安装 DirectX 8 SDK 并设置正确的项目路径: http://msdn.microsoft.com/en-us/library/73f9s62w(v=vs.71).aspx 您必须为 win32 项目设置 x86 lib 目录。 祝你好运

【讨论】:

以上是关于如何使用 Direct8 dll 编译/调试 Visual Studio 2012 Win32 项目的主要内容,如果未能解决你的问题,请参考以下文章

如何调试用bcb编译出来的dll

如何检查 DLL 是不是经过调试编译 [重复]

如何从 Microsoft Access 调试 dll

如何在VS中调试用gcc编译的项目?

跨dll调试

在调试不同的 dll 期间显示地图的内容