![]() |
|
|
![]()
|
|
| 1IMMORTAL |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 8.9.2006 Репутация: нет Всего: нет |
Всем доброго времени суток! Здравствуйте! Подскажите пожалуйста, как сделать, чтобы моя консольная программа была кроссплатформенной? Чтобы небыло необходимости пересобирать проект при изменении системной локали и/или кодировки? На данный момент использую Code::Blocks 8.02 под Windows. Предполагается перенос программы на linux. За ранее благодарю за помощь! |
|||
|
||||
| chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 5 Всего: 44 |
||||
|
||||
| 1IMMORTAL |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 8.9.2006 Репутация: нет Всего: нет |
Понятно, что под каждую платформу собирать надо. Просто с кодировками кое-чего не пойму. Возможно ли сделать, чтобы например в Linux'е при смене системной кодировки (например с однобайтовой на многобайтную) не нужно было править исходники и вообще программу пересобирать. И при переносе с винды на Linux не нужно было менять кодировку строк.
В Java не нравится необходимость устанавливать JVM на комп, где будет работать прога. Неужели это единственный выход? Это сообщение отредактировал(а) 1IMMORTAL - 20.1.2010, 13:32 |
|||
|
||||
| chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 5 Всего: 44 |
||||
|
||||
| andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 11 Всего: 33 |
вообще-то есть правило, строковые константы определять юникодами. -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
| 1IMMORTAL |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 8.9.2006 Репутация: нет Всего: нет |
Всю жизнь мечтал работать исключительно с юникодом QT не хочу ибо не хочу платить в случае продажи моей проги. Надеюсь использовать только STL. Как заставить этот чёртов MinGW, вместе с его STL, работать с юникодом? А можно и статически прилинковать. Но не нужно |
|||
|
||||
| maxxant |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 8.9.2009 Репутация: 1 Всего: 1 |
с марта 2009 года, начиная с версии 4.5, Qt имеет LGPL лицензию, что означает возможность бесплатно использовать неизменённые динамически слинкованные библиотеки Qt в коммерческом закрытом продукте. |
|||
|
||||
| 1IMMORTAL |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 8.9.2006 Репутация: нет Всего: нет |
А с помощью QT можно делать консольные юникодные проги? |
|||
|
||||
| maxxant |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 8.9.2009 Репутация: 1 Всего: 1 |
Ну и кстати, да в догонку ) В Qt есть все средства для локализации (пусть не идеальные), строки помеченные через макрос tr() выносяться спец тулзой в отдельный файл, который потом переводиться в Qt Linguist отдельным человеком (не обязательно программистом). При запуске приложения проверяется локаль и кодировка системы (автоматически), нужные скомпиленные файлы перевода подхватываются и всё просто работает. Для этого есть там кодеки для работы с текстом. Либо использовать спец библиотеки, поскольку учесть море языков и кодировок, и их перевод между кодировками туда сюда - жуть, что даст юникод если у кого-то КОИ-8? конвертить?. Например в линуксе обычно используется UTF-8 (и в консоли и в гуи), но иногда КОИ-8. В freeBSD пока только КОИ-8 (для россии). Надо сказать сам консольные с переводами не далал (english only), но с гуёвыми проблем не было. Добавлено через 6 минут и 20 секунд http://qt.nokia.com/doc/4.6/internationalization.html можно бегло пробежаться, чтобы понять некую суть кроссплатформенной локализации и возможности Qt. То есть, если только для винды делать, то и заморачиваться особо не приходиться. |
||||
|
|||||
| 1IMMORTAL |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 8.9.2006 Репутация: нет Всего: нет |
Благодарю за помощь! Нужно будет подробней ознакомиться с QT.
|
|||
|
||||
| chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 5 Всего: 44 |
||||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |