Проект Qt5 в MSVC 2010, требуется многобайтовый набор символов, но изменение набора символов проекта не работает

Я делаю свои первые шаги с Qt в MSVC. Я использую Visual Studio 2010 и Qt 5.3.

Все работает нормально, но теперь у меня есть устаревший C-код, который я должен включить в свой проект. Этот c-код использует 8-битные символы для загрузки библиотек DLL и прочего, поэтому, чтобы он работал в MSVC, мне нужно изменить набор символов проекта с Unicode на Multibyte. Это нормально работает с обычными приложениями C++.

Но когда я сейчас создаю приложение Qt и использую этот устаревший код, проект, похоже, использует Unicode, несмотря на тот факт, что я включил многобайтовый набор символов в свойствах приложения Qt. Так я получаю следующую ошибку, например:

ошибка C2664: "GetModuleFileNameW": невозможно преобразовать параметр 2 из "char [260]" в "LPWSTR"

Приложение Qt, похоже, игнорирует мою настройку многобайтовых символов в свойствах проекта и по-прежнему использует Unicode. Как я могу это изменить?

Спасибо за все ответы!

2 ответа

Вам нужно перейти в каталог установки qt mkspecs и изменить файл qmake.conf используемой вами платформы.

Изменить Defines += UNICODE на Defines += _MBCS

В вашем .pro файле поместите строки

      DEFINES -= UNICODE
DEFINES += _MBCS
Другие вопросы по тегам