Использование Win32 API в проекте Qt OSE - PullRequest
1 голос
/ 15 декабря 2008

Это грязный вопрос, надеюсь, вы можете понять, что я хочу:)

Как лучше всего использовать функциональность Win32 в проекте Qt Open Source Edition?

В настоящее время я включил необходимые библиотеки Windows SDK и включил каталоги в файл проекта qmake вручную. Он отлично работает в небольших масштабах, но это неудобно и громоздко.

Итак, я должен разделить материал Win32 в библиотеку или есть разумный способ объединить эти два? Или я просто пропустил какой-то аспект Qt, который упрощает это?

EDIT

Удален синтаксический материал, он не очень актуален, просто раздражает.

Ответы [ 3 ]

1 голос
/ 16 декабря 2008

Вы можете создать интерфейсный слой, чтобы обернуть функциональность Win32 и предоставить его в DLL или статической библиотеке. DLL минимизирует необходимость прямого подключения к библиотекам Win32 с вашим проектом qmake. Было бы в большей степени соответствовать переносимости Qt, чтобы создавать подобные интерфейсы, а затем скрывать данные, специфичные для платформы, в частной реализации. Trolltech обычно использует pimpl idiom для выполнения таких задач. Итак, взгляните на исходный код Qt, чтобы увидеть примеры (то есть посмотрите на указатели «d»).

0 голосов
/ 02 января 2009

Вы можете использовать области win32 в вашем .pro файле;

win32:HEADERS+=mywinheader.h

или с файлами .pri (pro include), чтобы разделить его еще больше;

win32:include( mywinpri.pri )

Обычно вы используете этот apprpoach с идиомой PIMPL, как описывает monjardin.

0 голосов
/ 15 декабря 2008

LPCWSTR не должно быть проблемой; это просто глупое имя для wchar_t const*. LPARAM тоже не проблема, их можно хранить долго. Конечно, это просто типы C ++, а не Qt. Но Qt все еще может справиться с ними.

VS интеграция, насколько я понимаю, связана с IDE Visual Studio, а не с языком (V) C ++.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...