Ошибка компиляции программы 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.