Ошибка компиляции программы Qt при использовании класса, который включает Stdafx.h

Я получаю ошибку компиляции с моим приложением qt, когда я добавил некоторые oem-классы устройства (которые используют stdafx.h).

"Error  1   error C1189: #error :  Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]  

Исходя из того, что я нашел в интернете, я установил в своем проекте свойства "Использовать MFC в общей DLL", чтобы устранить ошибку, но при повторной компиляции он вызывает некоторые другие ошибки:

Error   1   error C2664: 'LONG SCardConnectW(SCARDCONTEXT,LPCWSTR,DWORD,DWORD,LPSCARDHANDLE,LPDWORD)' : cannot convert argument 2 from 'const char *' to 'LPCWSTR'

Error   2   error C2440: '=' : cannot convert from 'int8 *' to 'LPCWSTR'    

Error   3   error C2679: binary '=' : no operator found which takes a right-hand operand of type 'LPCWSTR' (or there is no acceptable conversion)

Error   4   error C2664: 'LONG SCardStatusW(SCARDHANDLE,LPWSTR,LPDWORD,LPDWORD,LPDWORD,LPBYTE,LPDWORD)' : cannot convert argument 2 from 'int8 *' to 'LPWSTR'

Я попытался установить Использовать набор символов Unicode и Использовать многобайтовый набор символов, но не решил проблему.

1 ответ

Не смешивайте MFC и Qt - это не сработает. Вам нужно либо провести рефакторинг OEM-оборудования, либо ваше собственное программное обеспечение для использования Qt / MFC.

Другие вопросы по тегам