C++ 在Qt-OSE项目中使用win32api

C++ 在Qt-OSE项目中使用win32api,c++,windows,winapi,qt,qt4,C++,Windows,Winapi,Qt,Qt4,这是一个混乱的问题,希望你能明白我想要什么:) 在Qt开源版项目中使用Win32功能的最佳方式是什么? 目前,我已经包含了必要的Windows SDK库,并手动将目录包含到qmake项目文件中。它在小规模上运行良好,但不方便且繁琐 那么,我应该将Win32的内容分离到一个库中,还是有一种合理的方法将这两者结合起来?或者我只是忽略了一些简化这一点的Qt方面 编辑 删除了语法的东西,它不是真正相关的,只是令人讨厌。LPCWSTR不应该是个问题;这只是wchar\u t const*的一个愚蠢的名字。

这是一个混乱的问题,希望你能明白我想要什么:)

在Qt开源版项目中使用Win32功能的最佳方式是什么?

目前,我已经包含了必要的Windows SDK库,并手动将目录包含到qmake项目文件中。它在小规模上运行良好,但不方便且繁琐

那么,我应该将Win32的内容分离到一个库中,还是有一种合理的方法将这两者结合起来?或者我只是忽略了一些简化这一点的Qt方面

编辑


删除了语法的东西,它不是真正相关的,只是令人讨厌。

LPCWSTR不应该是个问题;这只是
wchar\u t const*
的一个愚蠢的名字。LPRAM也不是问题,您可以将它们存储在一个较长的内存中。当然,这些只是C++类型,而不是Qt。但Qt仍然可以处理这些问题


VS集成,据我所知,它与Visual Studio IDE相关,而不是(V)C++语言。

LPCWSTR不应该是一个问题;这只是
wchar\u t const*
的一个愚蠢的名字。LPRAM也不是问题,您可以将它们存储在一个较长的内存中。当然,这些只是C++类型,而不是Qt。但Qt仍然可以处理这些问题


VS集成,据我所知,它与Visual Studio IDE相关,而不是(V)C++语言。

您可以构建一个接口层来包装Win32功能,并在DLL或静态库中提供它。DLL将最大限度地减少使用qmake项目直接链接到Win32库的需要。创建这样的通用接口,然后将特定于平台的数据隐藏在私有实现中,更符合Qt的可移植性。Trolltech通常采用以下方法来完成这些任务。因此,请查看Qt源代码以查看示例(即查找“d”指针)。

您可以构建一个接口层来包装Win32功能,并在DLL或静态库中提供它。DLL将最大限度地减少使用qmake项目直接链接到Win32库的需要。创建这样的通用接口,然后将特定于平台的数据隐藏在私有实现中,更符合Qt的可移植性。Trolltech通常采用以下方法来完成这些任务。因此,请查看Qt源代码以查看示例(即查找“d”指针)。

您可以在.pro文件中使用win32作用域

win32:HEADERS+=mywinheader.h
或者使用.pri(pro include)文件将其进一步划分

win32:include( mywinpri.pri )

正如monjardin所描述的那样,您通常会将此方法与PIMPL习惯用法结合使用。

您可以在.pro文件中使用win32作用域

win32:HEADERS+=mywinheader.h
或者使用.pri(pro include)文件将其进一步划分

win32:include( mywinpri.pri )

正如monjardin所描述的那样,您通常会将此方法与PIMPL习语结合使用。重点问题是,我知道这些类型定义,只是将它们作为额外的烦恼包括在内。重点问题是,我知道这些类型定义,只是将它们作为额外的烦恼包括在内。