crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Правильный перенос кода между платформами
Гость_HaySayCheese_*
сообщение 7.9.2010, 16:38
Сообщение #1





Гости








    


Здравствуйте.

Я работаю с Qt на Linux-е. Иногда пишу программки, но их чаще всего нужно использовать на виндосе. Из-за чего я всегда придерживаю вирт. машину с виндосом. Но вот переносить код с одной платформы в другую по несколько раз, компилировать там и там, очень напряжно. Мало того, все мои исходники в utf8 (написаны на линукс), на виндосе использую Qt Creator, он вроде как читает эти исходники, но почему-то все символьные константы при переносе кода принимают совсем другие значения. Это мне жутко мешает. Поэтому хочу задать господам профессионалам несколько вопросов:

1. Как лучше всего организовать разработку именно кроссплатформенного софта. Я понимаю, что без обеих ОС не обойтись, но может подскажите какой нибудь хороший способ организовать их взаимодействие.

2. Как лучше всего писать и сохранять исходники с оглядкой на туже кроссплатформенность? Имеется ввиду кодировка, или может есть и другие нюансы, которых я пока не встречал.

3. И еще вопрос: на линуксе я использую ссылки, так как считаю это "гениальным изобретением" в лине. НТФС с этими ссылками не дружит, и соответственно, при переносе каталогов с исходниками связь нарушается и мне каждый раз приходиться сбрасывать все исходники в общую папку, чтоб не было путаницы с путями к хедерам, изменять пути к хедерам в исходниках, и только после этого - компилировать (Если этого не сделать, компилятор ругается на отсутствие файлов, хотя физически на диске они присутствуют. Вирт. машина даже имитирует эти самые ссылки, создавая соответствующие каталоги и файлы, но компилятор все-равно говорит, что их нету. Почему так - не знаю.)

4. И последнее, как поступить с символьными константами? Переписывать весь код каждый раз не хочется, а иначе - программа не работает.

Заранее спасибо. Жду ответов.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 7.9.2010, 16:54
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Гость_HaySayCheese_* @ 7.9.2010, 20:38) *
Qt Creator, он вроде как читает эти исходники, но почему-то все символьные константы при переносе кода принимают совсем другие значения.
креатор не умеет определять кодировку. В настройках проекта "редактор" нужно указать UTF-8

1) можно покопать в сторону кросскомпиляции (ищи по форуму, обсуждалось)


2) кодировку лучше ставить UTF-8 и использовать для строковых констант trUtf8()

3) Обычно при копировании с Линуксовой ФС, на виндовозную, файловый менеджер спрашивает "разрешать ссылки?"/" resolve symlink?". Скажи да
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_HaySayCheese_*
сообщение 7.9.2010, 17:04
Сообщение #3





Гости








    


Цитата(Litkevich Yuriy @ 7.9.2010, 16:53) *
кодировку лучше ставить UTF-8 и использовать для строковых констант trUtf8()


За это - спасибо. Не знал про trUtf8(). Но думаю что это не поможет. Дело в том, что я когда с лини на виндос переношу исходники то они каким-то чудом преобразуются. Я выбираю в Creator-е кодировку utf8, после чего он нормально читает исходники (видны русские комменты, и т.д.) но эти самые константы преобразуются
в что-то совсем непонятное. Например: если в коде встречается "н/5", то на винде это будет выглядеть "PS/5". Я даже не имею предположения, почему так.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- HaySayCheese   Правильный перенос кода между платформами   7.9.2010, 16:38
- - Litkevich Yuriy   Цитата(Гость_HaySayCheese_* @ 7.9.2010, 20...   7.9.2010, 16:54
|- - HaySayCheese   Цитата(Litkevich Yuriy @ 7.9.2010, 16:53)...   7.9.2010, 17:04
- - Litkevich Yuriy   Цитата(Гость_HaySayCheese_* @ 7.9.2010, 21...   7.9.2010, 17:07
- - kuzulis   2 Гость_HaySayCheese_* ЦитатаЯ выбираю в Creator-...   7.9.2010, 20:45
|- - HaySayCheese   Цитата(kuzulis @ 7.9.2010, 20:45) Но пото...   7.9.2010, 22:00
- - kuzulis   ЦитатаА если так, то где Вы сохраняете хоть конста...   7.9.2010, 22:40
- - Kagami   Вы просто не умеете пользоваться креатором. При ра...   8.9.2010, 7:46
- - Алексей1153   а что за "теневая сборка" - несколько ра...   8.9.2010, 8:11
- - Litkevich Yuriy   Цитата(Алексей1153 @ 8.9.2010, 12:11) а ч...   8.9.2010, 9:20
- - Алексей1153   а, теперь понятно. Я ещё вспомнил, где мелькало - ...   8.9.2010, 9:52
|- - arial   Цитата(Алексей1153 @ 8.9.2010, 10:52) С х...   8.9.2010, 10:39
- - kuzulis   А как по мне, имхо - то что используется теневая с...   8.9.2010, 11:06
- - Litkevich Yuriy   я ещё два месяца назад игнорировал теневую сборку....   8.9.2010, 11:53
- - Алексей1153   arial, ок, почитаю. В игры давненько уж не приходи...   8.9.2010, 12:45


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 30.11.2024, 12:18