Название: Кодировка строк в плагинах для QtCreator Отправлено: ammaximus от Июнь 25, 2014, 20:53 Создаю плагин по канонической инструкции, среда сборки Windows, Qt 4.8.6
Скачал исходники QtCreator, скомпилировал, создаю новый плагин через мастер плагинов, пути к исходникам и к билду указал. Тут все нормально, простейший плагин из дефолта делается. Проблемы возникают при попытке работать со строками. Т.е. я не могу написать QString s("string"); нужно обязательно пихать tr("string"), даже для латиницы! Эпичной точкой стала необходимость обрамлять пустые строки QString s = new s(tr(""));, иначе говорит ambigious. Понятно, что свой виджет (который нормально собирается в составе классического проекта) под плагин я так и не допилил ввиду отсутствия должного терпения. У кого было/что делать? P.s. Ничего кроме tr() не помогает, иногда, соответственно писал QObject::tr(). По умолчанию кодировка файлов исходников - UTF8, с этим уже шаманил, пробовал Win1251 вроде ничего не помогало. Название: Re: Кодировка строк в плагинах для QtCreator Отправлено: Авварон от Июнь 25, 2014, 21:32 QLatin1String
Название: Re: Кодировка строк в плагинах для QtCreator Отправлено: ammaximus от Июнь 25, 2014, 21:39 пробовал так, вроде тоже что и без него. А в чем тут принцип с этим latinstring, я что то так и не врубился
Название: Re: Кодировка строк в плагинах для QtCreator Отправлено: kambala от Июнь 25, 2014, 22:27 чтобы ненужную конвертацию в юникод для обычных «английских» строк не делать
Название: Re: Кодировка строк в плагинах для QtCreator Отправлено: ammaximus от Июнь 26, 2014, 07:27 Мало букв. Что изменилось когда я стал компилировать виджет как плагин? Они по другому собираются? Почему появилась неоднозначность?
QLatin1 помогло, соответственно у меня больше нет русского языка. Что делать? Название: Re: Кодировка строк в плагинах для QtCreator Отправлено: ammaximus от Июнь 26, 2014, 07:38 О. Нашел Qtnocastfromascii. Осталя лишь один вопрос: Зачем они это сделали?
Название: Re: Кодировка строк в плагинах для QtCreator Отправлено: ammaximus от Июнь 26, 2014, 15:22 Новый вопрос: скачал исходники креатора, собрал релиз, направил туда плагин все работает. Если запускать через свежесобранный креатор, то все работает и отладка и релиз. Но если класть релиз плагина в мой активный креатор при запуске он говорит что проверочная информация для модуля не совпадает. Что такое? Другой компилятор? Версия qt?
Название: Re: Кодировка строк в плагинах для QtCreator Отправлено: Bepec от Июнь 26, 2014, 15:35 У тебя есть исходники. Покопайся в них и поймёшь что он проверяет и где он проверяет.
Название: Re: Кодировка строк в плагинах для QtCreator Отправлено: ammaximus от Июнь 26, 2014, 23:54 Исходники тут не помогли бы. Вот тема, содержащая решение моей проблемы. http://www.qtcentre.org/threads/59506-Qt-Creator-plugin-is-failing-at-startup-with-cannot-load-library
Вкратце: на qt-project выкладываются бины собранные с помощью Visual Studio 2010. Соответственно, поэтому для обеспечения совместимости есть два решения: 1. Собрать креатор под MinGW и пользоваться им (что не очень удобно, т.к. у других такого не будет) 2. Собрать свой плагин с помощью VisualStudio Проблема на мой взгляд совсем не очевидная, я уже перекопал все материалы по плагинам, я уже давно написал сам плагин, а зарелизить не могу. Это должно быть в красной рамочке в каждой статье! Всем спасибо на помощь. Наконец то усну. Название: Re: Кодировка строк в плагинах для QtCreator Отправлено: b-s-a от Июль 01, 2014, 10:34 Зарелизь его в виде патча к qt creator. если твой плагин достоин, то после некоторых изменений его могут включить в master ветку. Если поторопишься, то успеешь в Qt Creator 3.3
Название: Re: Кодировка строк в плагинах для QtCreator Отправлено: ammaximus от Июль 01, 2014, 19:46 Спасибо, думал об этом и даже создавал здесь тему. Давайте сегодня еще раз выложу, если оцените попробую послать
Название: Re: Кодировка строк в плагинах для QtCreator Отправлено: b-s-a от Июль 02, 2014, 12:35 Лучше не здесь. Вряд ли кто-то горит желанием распаковывать твой архив. Лучше кинь ссылку на исходники в открытом виде (чтобы смотреть файлы без загрузки) и выложи скриншоты твоего плагина.
Перед отправкой в Qt Creator следует в каждом файле прописать определенную текстовую информацию. Посмотри в плагине TODO. |