Russian Qt Forum
Ноябрь 23, 2024, 10:59 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Кодировка консоли сборки  (Прочитано 53919 раз)
poops
Гость
« : Декабрь 09, 2009, 13:02 »

Проблема в следующем, юзаю qtcreator 1.3 c QT 4.6 собранный под vs2008. Все ошибки компиляции выводятся в консоль сборки в ДОС'овской кодировке. Можно ли это как-то исправить, а то задолбался уже переключаться в консоль, чтоб ошибки посмотреть
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #1 : Декабрь 09, 2009, 13:06 »

ошибки сборки генерит компилятор, странно что студия так себя ведёт.
Записан

Юра.
poops
Гость
« Ответ #2 : Декабрь 09, 2009, 13:10 »

Понятно что компилятор, и тут по идее 2 варианта, либо в QtCreator'e поставить кодировку консоли в cp866, либо мс'овский nmake (или jom) настроить чтоб сообщения компиляции выводились в CP1251
Записан
poops
Гость
« Ответ #3 : Декабрь 09, 2009, 18:06 »

up
Записан
b-s-a
Гость
« Ответ #4 : Декабрь 10, 2009, 11:54 »

http://bugreports.qt.nokia.com/browse/QTCREATORBUG-316
Записан
poops
Гость
« Ответ #5 : Декабрь 10, 2009, 15:56 »

Спасибо, помогло
Записан
Jo
Гость
« Ответ #6 : Май 17, 2010, 17:33 »

Можешь написать как решил проблему?
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #7 : Июль 27, 2011, 17:47 »

Подниму тему.

Так какое же решение?

1. Пробовал в региональных настройках Win7 для приложений не поддерживающих юникод
менять язык на английский - так креатор в консоли сборки стал выводить вопросики.  Злой

2. Пробовал удалять %VSINSTALLDIR%\VC\bin\1049\clui.dll
так студийный компилер выдает:
Цитировать
fatal error C1510: Cannot load language resource clui.dll.

ЗЫ: Использую Windows 7 + MSVC 2010 + QtCreator 2.2.1
« Последнее редактирование: Июль 27, 2011, 17:51 от kuzulis » Записан

ArchLinux x86_64 / Win10 64 bit
b-s-a
Гость
« Ответ #8 : Июль 27, 2011, 17:58 »

Решение есть тут: http://bugreports.qt.nokia.com/browse/QTCREATORBUG-316
Скачай jom.exe.zip, распакуй и замени jom.exe, что лежит в каталоге bin критора
« Последнее редактирование: Июль 27, 2011, 18:03 от b-s-a » Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #9 : Июль 27, 2011, 18:18 »

Cкачал - но архив битый: "неизвестный формат или ошибка в архиве".

---

 Если же удалить расширение *.zip и оставить только *.exe, и заменить jom - то компилирует, но всё-равно крякозяблы (а если менять настройки Win7 на English - то сплошные знаки вопроса).

Так что не помогает.
« Последнее редактирование: Июль 27, 2011, 18:27 от kuzulis » Записан

ArchLinux x86_64 / Win10 64 bit
b-s-a
Гость
« Ответ #10 : Июль 28, 2011, 10:56 »

Так, в Windows XP все работает.
Посмотри значение ключей OEMCP и ACP ветки реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage
Должно быть "866" и "1251" соответственно.
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #11 : Июль 28, 2011, 17:20 »

Да, у этих ключей было:
OEMCP  = 437
ACP = 1252

После исправления на:
OEMCP  = 866
ACP = 1251

всё заработало. Спасибо!

PS: только настораживает разница в размерах jom ~1.5MB (родной) vs ~60KB (исправленный).
« Последнее редактирование: Июль 28, 2011, 17:28 от kuzulis » Записан

ArchLinux x86_64 / Win10 64 bit
b-s-a
Гость
« Ответ #12 : Июль 28, 2011, 22:24 »

upx рулит.
Записан
andrew.k
Гость
« Ответ #13 : Ноябрь 02, 2011, 15:01 »

Проверил ключи. У меня значения какие и должны быть.
OEMCP  = 866
ACP = 1251

Скачал jom из вложения (размер 150кб)

Проблема не устранилась. По-прежнему каракули.
Записан
b-s-a
Гость
« Ответ #14 : Ноябрь 02, 2011, 16:24 »

Пинайте нокию через багтрекер... Сейчас в jom внесены серьезные изменения, которые полностью несовместимы с моим патчем. Поэтому, для исправления проблемы необходим целый ряд действий:
1. внесение изменений в Qt Creator, чтобы он поддерживал смену кодировки в output panes (панелях вывода) или в "читателе стандартных выводов приложений".
2. создание специального враппера, который будет декодировать вывод приложений, запускаемых через него (на данный момент в первую очередь необходимо преобразование ACP -> OEMCP, но наверняка потребуют чтобы это было параметром).
3. внесение изменений в jom/qmake/spec, чтобы запуск микрософтовского ilink.exe (или как его там) в Makefile шел через созданный враппер.

Есть желающие все это (или хотя бы часть) сделать?
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.231 секунд. Запросов: 24.