Re[6]: на самом деле всё не так
От: Denwer Россия  
Дата: 11.07.16 11:38
Оценка:
Здравствуйте, SaZ, Вы писали:

SaZ>Здравствуйте, Denwer, Вы писали:


D>>Просто строковые константы нужно использовать как положено:

D>>QString string = QStringLiteral("русский текст");

SaZ>QStringLiteral — это лямбда, который позволяет избежать вызова конструктора QString с сопутствующими конвертациями каждый раз, при создании переменной. Никакого отношения к кодировке исходников она не имеет.


Перед тем как писать это, нужно было открыть исходники QStringLiteral и посмотреть повнимательнее, что же там делает QT_UNICODE_LITERAL
Re[7]: на самом деле всё не так
От: SaZ  
Дата: 11.07.16 12:22
Оценка:
Здравствуйте, Denwer, Вы писали:

D>Перед тем как писать это, нужно было открыть исходники QStringLiteral и посмотреть повнимательнее, что же там делает QT_UNICODE_LITERAL


И как это (define QT_UNICODE_LITERAL_II(str) L##str) поможет компилятору понять, в какой кодировке исходник?

Там же чуть дальше есть коммент: "// source code is assumed to be encoded in UTF-8"
Отредактировано 11.07.2016 12:24 SaZ . Предыдущая версия . Еще …
Отредактировано 11.07.2016 12:23 SaZ . Предыдущая версия .
Re[8]: на самом деле всё не так
От: Denwer Россия  
Дата: 11.07.16 12:34
Оценка:
Здравствуйте, SaZ, Вы писали:

SaZ>Здравствуйте, Denwer, Вы писали:


D>>Перед тем как писать это, нужно было открыть исходники QStringLiteral и посмотреть повнимательнее, что же там делает QT_UNICODE_LITERAL


SaZ>И как это (define QT_UNICODE_LITERAL_II(str) L##str) поможет компилятору понять, в какой кодировке исходник?


Он не помогает узнавать, этот макрос просто изменяет кодировку у строковых констант. В чем разница между "бла бла" и L"бла бла" я думаю рассказывать не нужно?

SaZ>Там же чуть дальше есть коммент: "// source code is assumed to be encoded in UTF-8"


Тем более.
Re[9]: на самом деле всё не так
От: SaZ  
Дата: 11.07.16 17:06
Оценка:
Здравствуйте, Denwer, Вы писали:


D>Он не помогает узнавать, этот макрос просто изменяет кодировку у строковых констант. В чем разница между "бла бла" и L"бла бла" я думаю рассказывать не нужно?


Не нужно. Но если файл будет парситься компилятором не как utf-8, то этот макрос не сработает и на выходе будет не то, что ожидается. А если будет парситься как utf-8, то всё и так заработает.

Я к тому, что использование QStringLiteral не решает проблему топикстартера, а используется лишь для экономии процессорного времени.
Re[10]: на самом деле всё не так
От: Denwer Россия  
Дата: 11.07.16 20:16
Оценка:
Здравствуйте, SaZ, Вы писали:

SaZ>Здравствуйте, Denwer, Вы писали:



D>>Он не помогает узнавать, этот макрос просто изменяет кодировку у строковых констант. В чем разница между "бла бла" и L"бла бла" я думаю рассказывать не нужно?


SaZ>Не нужно. Но если файл будет парситься компилятором не как utf-8, то этот макрос не сработает и на выходе будет не то, что ожидается. А если будет парситься как utf-8, то всё и так заработает.


Для корректного распознавания компилятором кодировки файла, конкретно для MSVC нужно добавить UTF-8 BOM.

SaZ>Я к тому, что использование QStringLiteral не решает проблему топикстартера, а используется лишь для экономии процессорного времени.


Решает, если будет UTF-8, что я в первом сообщении и написал. Просто потом начали писать, что наоборот не нужно этого делать. Для корректной работы на MSVC компиляторе нужно сделать две вещи:
1 — добавить UTF-8 BOM
2 — использовать QStringLiteral
Re[11]: на самом деле всё не так
От: S-SH Россия http://shmakov.ru/
Дата: 12.07.16 07:45
Оценка:
Здравствуйте, Denwer, Вы писали:

D>Решает, если будет UTF-8, что я в первом сообщении и написал. Просто потом начали писать, что наоборот не нужно этого делать. Для корректной работы на MSVC компиляторе нужно сделать две вещи:

D>1 — добавить UTF-8 BOM
D>2 — использовать QStringLiteral

а) Первое без второго не работает
б) QStringLiteral есть в Qt 5 и нет в Qt 4
IMHO. смайлики добавить по вкусу.
Re[12]: на самом деле всё не так
От: Denwer Россия  
Дата: 12.07.16 08:06
Оценка:
Здравствуйте, S-SH, Вы писали:

SS>б) QStringLiteral есть в Qt 5 и нет в Qt 4


Читаем первый пост: — Qt 5.4.2
Казалось бы, причем тут 4-я версия?
Re[13]: на самом деле всё не так
От: S-SH Россия http://shmakov.ru/
Дата: 12.07.16 08:32
Оценка:
Здравствуйте, Denwer, Вы писали:

D>Здравствуйте, S-SH, Вы писали:


SS>>б) QStringLiteral есть в Qt 5 и нет в Qt 4


D>Читаем первый пост: — Qt 5.4.2

D>Казалось бы, причем тут 4-я версия?

Ни при чем.
Что не отменяет того факта, что ваше предложение в http://rsdn.ru/forum/cpp.qt/6080690.1
Автор: Denwer
Дата: 16.06.15
неработоспособно без использования QStringLiteral.
А мое предложение работает как в Qt 5, так и в Qt 4.
IMHO. смайлики добавить по вкусу.
Re[11]: на самом деле всё не так
От: SaZ  
Дата: 12.07.16 09:02
Оценка:
Здравствуйте, Denwer, Вы писали:

D>...


D>1 — добавить UTF-8 BOM

Этого достаточно.

D>2 — использовать QStringLiteral

Не обязательно. Ни на что не повлияет. Читаем: для создания строки будет использоваться QString::fromUtf8, а поскольку исходник и так уже а utf-8, то всё будет работать.
Re[14]: на самом деле всё не так
От: Denwer Россия  
Дата: 12.07.16 09:21
Оценка:
Здравствуйте, S-SH, Вы писали:

SS>Здравствуйте, Denwer, Вы писали:


D>>Здравствуйте, S-SH, Вы писали:


SS>>>б) QStringLiteral есть в Qt 5 и нет в Qt 4


D>>Читаем первый пост: — Qt 5.4.2

D>>Казалось бы, причем тут 4-я версия?

SS>Ни при чем.

SS>Что не отменяет того факта, что ваше предложение в http://rsdn.ru/forum/cpp.qt/6080690.1
Автор: Denwer
Дата: 16.06.15
неработоспособно без использования QStringLiteral.


Конечно, я сразу и сказал, что мое предложение работоспособно если использовать советы разработчиков Qt, а именно применять нужно QStringLiteral.

SS>А мое предложение работает как в Qt 5, так и в Qt 4.

Пробежался по топику и не понял, какое именно?
Re[12]: на самом деле всё не так
От: Denwer Россия  
Дата: 12.07.16 09:28
Оценка: 4 (1)
Здравствуйте, SaZ, Вы писали:

SaZ>Здравствуйте, Denwer, Вы писали:


D>>...


D>>1 — добавить UTF-8 BOM

SaZ>Этого достаточно.

D>>2 — использовать QStringLiteral

SaZ>Не обязательно. Ни на что не повлияет. Читаем: для создания строки будет использоваться QString::fromUtf8, а поскольку исходник и так уже а utf-8, то всё будет работать.

Обязательно. Читать не хочу, советую просто попробовать:


Исходник к картинке:
    ui->label->setText("Это русский текст");
    ui->label_2->setText(QStringLiteral("Это русский текст"));
Re[13]: на самом деле всё не так
От: SaZ  
Дата: 12.07.16 09:42
Оценка:
Здравствуйте, Denwer, Вы писали:

D>...


Каюсь. Ворнинги компилятор даёт. Спасибо.
Re[15]: на самом деле всё не так
От: S-SH Россия http://shmakov.ru/
Дата: 12.07.16 10:36
Оценка:
Здравствуйте, Denwer, Вы писали:

D>Конечно, я сразу и сказал, что мое предложение работоспособно если использовать советы разработчиков Qt, а именно применять нужно QStringLiteral.


Соглашусь, вы действительно так сказали. Правда, через год, но сразу.

SS>>А мое предложение работает как в Qt 5, так и в Qt 4.

D>Пробежался по топику и не понял, какое именно?

http://rsdn.ru/forum/cpp.qt/6481192.1
Автор: S-SH
Дата: 24.06.16
IMHO. смайлики добавить по вкусу.
Re: Еще один вопрос...
От: LaptevVV Россия  
Дата: 26.08.16 04:54
Оценка:
Как я понимаю, режимы компиляции для компилятора можно задавать в проекте в секции CONFIG.
Если это так, то каким образом задать, например, режим оптимизации О3 ?
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: Еще один вопрос...
От: AlexGin Беларусь  
Дата: 26.08.16 06:36
Оценка: 13 (1)
Здравствуйте, LaptevVV, Вы писали:

LVV>Как я понимаю, режимы компиляции для компилятора можно задавать в проекте в секции CONFIG.

LVV>Если это так, то каким образом задать, например, режим оптимизации О3 ?

QMAKE_CXXFLAGS += -O3

P.S. Вот тут примеры:
http://www.qtcentre.org/threads/59585-Adding-O3-compiler-option-in-Qt-Creator
http://stackoverflow.com/questions/12785364/configuration-for-optimizing-qt-creator-compiler
https://forum.qt.io/topic/16372/solved-qmake-and-optimization-flags-for-compiler
Отредактировано 26.08.2016 6:40 AlexGin . Предыдущая версия .
Re: Еще вопрос..
От: LaptevVV Россия  
Дата: 30.08.16 06:36
Оценка:
Пытаюсь установить minGW64 — облом
Вот отсюда: https://sourceforge.net/projects/mingwbuilds/files/
качаю mingw-builds-install
Запускаю.
При установке пишет, что не может найти некий текстовый файл.
Надо сначала host-windows установить?
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.