这是一个混乱的问题,希望你能弄清楚我想要的东西:)
在Qt开源版项目中使用Win32功能的最佳方法是什么?
目前,我已经包含了必要的Windows SDK库,并手动将目录包含在qmake项目文件中。它在小规模上工作正常,但不方便且麻烦。
那么,我应该将Win32的东西分成一个库还是有一种合理的方法来组合这两个?或者我只是忽略了一些简化这个问题的Qt方面?
修改
删除了语法内容,它不太相关,只是讨厌。
答案 0 :(得分:1)
您可以构建一个接口层来包装Win32功能并将其提供到DLL或静态库中。 DLL将最小化使用qmake项目直接链接到Win32库的需要。更符合Qt的可移植性来创建这样的通用接口,然后在私有实现中隐藏特定于平台的数据。奇趣科技通常使用pimpl idiom来完成这些任务。那么,看一下Qt源代码来查看示例(即查找“d”指针)。
答案 1 :(得分:0)
LPCWSTR应该不是问题;这只是wchar_t const*
的一个愚蠢名称。 LPARAM也不是问题,你可以将它们存储很长时间。当然,那些只是C ++类型,而不是Qt。但是Qt仍然可以处理它们。
VS集成,据我所知,它与Visual Studio IDE有关,而与(V)C ++语言无关。
答案 2 :(得分:0)
您可以在.pro文件中使用win32范围;
win32:HEADERS+=mywinheader.h
或.pri(pro include)文件将其划分更多;
win32:include( mywinpri.pri )
你通常会使用这个apprpoach与PIMPL惯用法,因为monjardin描述