Russian Qt Forum
Ноябрь 26, 2024, 02:23
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Qt-инструментарий
>
Кодировка строк в плагинах для QtCreator
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Кодировка строк в плагинах для QtCreator (Прочитано 8274 раз)
ammaximus
Гость
Кодировка строк в плагинах для QtCreator
«
:
Июнь 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 вроде ничего не помогало.
Записан
Авварон
Джедай : наставник для всех
Offline
Сообщений: 3260
Re: Кодировка строк в плагинах для QtCreator
«
Ответ #1 :
Июнь 25, 2014, 21:32 »
QLatin1String
Записан
ammaximus
Гость
Re: Кодировка строк в плагинах для QtCreator
«
Ответ #2 :
Июнь 25, 2014, 21:39 »
пробовал так, вроде тоже что и без него. А в чем тут принцип с этим latinstring, я что то так и не врубился
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: Кодировка строк в плагинах для QtCreator
«
Ответ #3 :
Июнь 25, 2014, 22:27 »
чтобы ненужную конвертацию в юникод для обычных «английских» строк не делать
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
ammaximus
Гость
Re: Кодировка строк в плагинах для QtCreator
«
Ответ #4 :
Июнь 26, 2014, 07:27 »
Мало букв. Что изменилось когда я стал компилировать виджет как плагин? Они по другому собираются? Почему появилась неоднозначность?
QLatin1 помогло, соответственно у меня больше нет русского языка. Что делать?
Записан
ammaximus
Гость
Re: Кодировка строк в плагинах для QtCreator
«
Ответ #5 :
Июнь 26, 2014, 07:38 »
О. Нашел Qtnocastfromascii. Осталя лишь один вопрос: Зачем они это сделали?
Записан
ammaximus
Гость
Re: Кодировка строк в плагинах для QtCreator
«
Ответ #6 :
Июнь 26, 2014, 15:22 »
Новый вопрос: скачал исходники креатора, собрал релиз, направил туда плагин все работает. Если запускать через свежесобранный креатор, то все работает и отладка и релиз. Но если класть релиз плагина в мой активный креатор при запуске он говорит что проверочная информация для модуля не совпадает. Что такое? Другой компилятор? Версия qt?
Записан
Bepec
Гость
Re: Кодировка строк в плагинах для QtCreator
«
Ответ #7 :
Июнь 26, 2014, 15:35 »
У тебя есть исходники. Покопайся в них и поймёшь что он проверяет и где он проверяет.
Записан
ammaximus
Гость
Re: Кодировка строк в плагинах для QtCreator
«
Ответ #8 :
Июнь 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
Проблема на мой взгляд совсем не очевидная, я уже перекопал все материалы по плагинам, я уже давно написал сам плагин, а зарелизить не могу. Это должно быть в красной рамочке в каждой статье!
Всем спасибо на помощь. Наконец то усну.
Записан
b-s-a
Гость
Re: Кодировка строк в плагинах для QtCreator
«
Ответ #9 :
Июль 01, 2014, 10:34 »
Зарелизь его в виде патча к qt creator. если твой плагин достоин, то после некоторых изменений его могут включить в master ветку. Если поторопишься, то успеешь в Qt Creator 3.3
Записан
ammaximus
Гость
Re: Кодировка строк в плагинах для QtCreator
«
Ответ #10 :
Июль 01, 2014, 19:46 »
Спасибо, думал об этом и даже создавал здесь тему. Давайте сегодня еще раз выложу, если оцените попробую послать
Записан
b-s-a
Гость
Re: Кодировка строк в плагинах для QtCreator
«
Ответ #11 :
Июль 02, 2014, 12:35 »
Лучше не здесь. Вряд ли кто-то горит желанием распаковывать твой архив. Лучше кинь ссылку на исходники в открытом виде (чтобы смотреть файлы без загрузки) и выложи скриншоты твоего плагина.
Перед отправкой в Qt Creator следует в каждом файле прописать определенную текстовую информацию. Посмотри в плагине TODO.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...