Правильный перенос кода между платформами |
Здравствуйте, гость ( Вход | Регистрация )
Правильный перенос кода между платформами |
Гость_HaySayCheese_* |
7.9.2010, 16:38
Сообщение
#1
|
Гости |
Здравствуйте.
Я работаю с Qt на Linux-е. Иногда пишу программки, но их чаще всего нужно использовать на виндосе. Из-за чего я всегда придерживаю вирт. машину с виндосом. Но вот переносить код с одной платформы в другую по несколько раз, компилировать там и там, очень напряжно. Мало того, все мои исходники в utf8 (написаны на линукс), на виндосе использую Qt Creator, он вроде как читает эти исходники, но почему-то все символьные константы при переносе кода принимают совсем другие значения. Это мне жутко мешает. Поэтому хочу задать господам профессионалам несколько вопросов: 1. Как лучше всего организовать разработку именно кроссплатформенного софта. Я понимаю, что без обеих ОС не обойтись, но может подскажите какой нибудь хороший способ организовать их взаимодействие. 2. Как лучше всего писать и сохранять исходники с оглядкой на туже кроссплатформенность? Имеется ввиду кодировка, или может есть и другие нюансы, которых я пока не встречал. 3. И еще вопрос: на линуксе я использую ссылки, так как считаю это "гениальным изобретением" в лине. НТФС с этими ссылками не дружит, и соответственно, при переносе каталогов с исходниками связь нарушается и мне каждый раз приходиться сбрасывать все исходники в общую папку, чтоб не было путаницы с путями к хедерам, изменять пути к хедерам в исходниках, и только после этого - компилировать (Если этого не сделать, компилятор ругается на отсутствие файлов, хотя физически на диске они присутствуют. Вирт. машина даже имитирует эти самые ссылки, создавая соответствующие каталоги и файлы, но компилятор все-равно говорит, что их нету. Почему так - не знаю.) 4. И последнее, как поступить с символьными константами? Переписывать весь код каждый раз не хочется, а иначе - программа не работает. Заранее спасибо. Жду ответов. |
|
|
kuzulis |
7.9.2010, 20:45
Сообщение
#2
|
Активный участник Группа: Участник Сообщений: 393 Регистрация: 29.6.2009 Пользователь №: 862 Спасибо сказали: 36 раз(а) Репутация: 7 |
2 Гость_HaySayCheese_*
Цитата Я выбираю в Creator-е кодировку utf8, после чего он нормально читает исходники (видны русские комменты, и т.д.) но эти самые константы преобразуются в что-то совсем непонятное. Например: если в коде встречается "н/5", то на винде это будет выглядеть "PS/5". Я даже не имею предположения, почему так. Это извечный геммор креатора. Есть такой косяк. Файл автоматом перекодируется/пересохраняется в виндовом креаторе в виндовой кодировке cp1251 и потом если этот проект компилить под линухом - то компилятор посыпет ошибками. В общем, нужно постоянно в креаторе перед тем как открыть какой-то модуль *.h или *.cpp тыкать в настройки типа "открыть в Utf", иногда когда забудешь это сделать - то все, пиши приплыли. Приходится с помощью notepad++ пересохранять испорченный исходник обратно в Utf без BOM. Я долго мучался с этим, матюгался... Но потом решил просто НЕ использовать в исходниках ни кириллических констант ни комментариев .. ничего вообще! И проблема решилась сама собой. Чего и вам советую сделать. Сообщение отредактировал kuzulis - 7.9.2010, 20:48 |
|
|
Гость_HaySayCheese_* |
7.9.2010, 22:00
Сообщение
#3
|
Гости |
Но потом решил просто НЕ использовать в исходниках ни кириллических констант ни комментариев .. ничего вообще! И проблема решилась сама собой. Чего и вам советую сделать. А если так, то где Вы сохраняете хоть константы? Да и без комментариев это как-то не по людски, что ли Даже по отношению к самому себе... |
|
|
Текстовая версия | Сейчас: 30.11.2024, 14:38 |