Название: Qt и Dll Отправлено: Aleksey от Сентябрь 10, 2009, 18:25 Здравствуйте.
Подскажите возможно ли впринципе подружить Qt с "неЮникодовской" DLL (в частности в ней используются TCHAR ) ? под Builder и VS (с отключенным unicode кодировкой) всё запускается на ура.... P.S. Сама библиотека сторонних разработчиков, опробована и проверена временем, иными словами с нуля её писать мне представляется не оптимальным решением. Название: Re: Qt и Dll Отправлено: Rcus от Сентябрь 10, 2009, 19:37 Странный вопрос. А какие могут быть проблемы с Qt, это же даже не компилятор :) Может имеется ввиду сборка при помощи MinGW в составе Qt SDK для Windows? Ну так тоже проблем не должно быть. А то что она "неюникодная" в чем выражается? Разве TCHAR определен не как #ifdef UNICODE #define TCHAR wchar_t #else #define TCHAR char #endif?
Название: Re: Qt и Dll Отправлено: Aleksey от Сентябрь 10, 2009, 21:03 Да, Вы правы - я некорректно выразился. Действительно, MinGW в составе Qt SDK для Windows.
Вот перехожу с С++Builder-а, многое в новинку, с многим не сталкивался, поэтому вопросы такие странные)). А выражалось в том, что при компилировании выдаётся следующие: .....error: cannot convert `TCHAR*' to `char*' for argument `1' to `char* strcat(char*, const char*)' .....error: cannot convert `const char*' to `const WCHAR*' for argument `2' to `LONG RegQueryValueExW(HKEY__*, const WCHAR*, DWORD*, DWORD*, BYTE*, DWORD*)' То есть действительно в частности TCHAR "криво" определён. Разве TCHAR определен не как #ifdef UNICODE #define TCHAR wchar_t #else #define TCHAR char #endif? Вот пристроил следующие: #ifdef (_UNICODE) #define TCHAR wchar_t #else #define TCHAR char #endif Теперь траблы только с WCHAR: .....error: cannot convert `char*' to `const WCHAR*' for argument `2' to `LONG RegOpenKeyExW(HKEY__*, const WCHAR*, DWORD, REGSAM, HKEY__**)' Спасибо Rcus) То есть как я понимаю дело поправимо.Буду думать\искать... Или есть какие то нюансы ещё здесь (чтоб головой об стену не вышло) ? Название: Re: Qt и Dll Отправлено: kuzulis от Сентябрь 11, 2009, 08:03 А не проще ли использовать другие Win32 API функции??
Например не RegQueryValueExW а RegQueryValueExA или типо этого Название: Re: Qt и Dll Отправлено: Aleksey от Сентябрь 13, 2009, 22:43 Наконец-то до компа добрался...
А не проще ли использовать другие Win32 API функции?? Например не RegQueryValueExW а RegQueryValueExA или типо этого В итоге так и сделал: покопался в описаниях и использовал аналогичные функции - субъективно оказалось проще).... Хотя "в чужой Спасибо за идею!! |