【问题标题】:Win32 and DirectX application in QtCreatorQtCreator 中的 Win32 和 DirectX 应用程序
【发布时间】:2012-12-17 21:28:51
【问题描述】:

我需要创建一个 Win32/DirectX 项目,我是在 VS2010 中开始的,但我无法忍受它作为 C++ IDE,所以我更喜欢使用 QtCreator。

我尝试了两种方法:在 VS2010 中创建一个 VS 项目并使用 Qt 插件生成 .pro 文件,以及在 QtCreator 中创建一个纯 C++ 项目并自己添加所有依赖项。不幸的是,这两种方法都不起作用。

在第一种情况下,从 VS 项目生成 .pro 文件(“创建基本 .pro 文件)的选项被禁用(即使我可以打开和构建在 QtCtreator 中创建的项目)。

在第二种情况下,我不确定我的 .pro 文件中需要什么来避免链接器错误。例如下面是编译一个应用程序的输出,它只显示一个简单的空窗口和我的 pro 文件:

最后,在 QtCreator 中,我必须使用 L"string" 将所有字符串明确指定为 LPCSTR,而 VS 似乎没有抱怨它。有什么办法吗?

【问题讨论】:

  • 我不认为你可以,微软为 Visual Studio ABI 分发 DX SDK,QT 和世界其他大部分地区使用 gcc/mingw ABI,你必须坚持使用 Visual Studio因为微软不共享源代码,你不能重新编译 DX。
  • 我上面得到的链接器错误来自winapi而不是directx。我包括Windows.h,但我认为我还需要链接一些库。 Windows API 中没有Windows.lib
  • 这是一回事,简而言之,如果您想使用 Microsoft 制造的技术进行编码,则必须坚持使用 VS。您没有其他解决方案。
  • 你只是通过创造一个更大的问题来解决一个问题。你可以使用 Visual Assistant X for Visual Studio 或者找到一些 VS 插件来提高你的工作效率。

标签: c++ visual-studio qt winapi directx


【解决方案1】:

您确定您的 Windows SDK 安装正确吗?你可以从这里得到它:http://www.microsoft.com/en-us/download/details.aspx?id=8279。为了安装它,我不得不取出一个更新的 Visual C++ 发行版,但它后来又回来了。您所有的链接问题似乎都来自核心 Win32 的东西,所以我猜测出了什么问题。

我刚决定试一试 QT Creator,在设置东西时遇到了这个页面,但它现在可以工作了,我的项目文件几乎和你的一样,所以我会检查安装。我使用的是 DX9 而不是 10(计划支持 9 和 11),但就像我说的那样,您的链接错误不是来自 DirectX。

SDK 中的 msvc 编译器据说可以与 QT Creator 一起使用,但我还没有尝试过。我正在使用 MINGW,工作正常,COM 可以跨编译器工作,这就是时髦的 C 风格界面的重点。我进行了切换,因为我有一个想法,使用 msvc 尚不支持的 c++11“默认”关键字更容易。我可以为我的基本数据类创建构造函数,并且仍然可以使用 memset 和 memcpy,并在联合等中使用它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-28
    • 2013-06-28
    • 2012-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-09
    相关资源
    最近更新 更多