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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Единая рабочая среда на нескольких системах (Windows, Linux, Mac)  (Прочитано 8332 раз)
Akon
Гость
« : Май 21, 2016, 11:43 »

Собственно, кто как организовывает свою рабочую среду (компиляторы, IDE, и т.д.), если нужно разрабатывать на C++/Qt из под нескольких ОСей, установленных на одной машине. Основными критериями эффективности выступают:
1. Исключение дублирования информации (например, сорцы библиотек - они будут одними и теми же для всех ОСей, или, например, конфигурационные файлы IDE).
2. Быстродействие (т.е., например, использовать прямой доступ к файловой системе, а не через git).

Например (сложный случай), установили мы Android SDK. Там помино бинарей, которые, ес-но, свои под каждую ОСь, есть сорцы и образы Android систем (здоровые ГБ файлы), которые могут быть едиными для всех ОСей. Опять же, произвели какие-нибудь манипуляции с Android SDK из под одной ОСи, желательно иметь эти же манипуляции совершенными и в других ОСях (общие конфиги).
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #1 : Май 21, 2016, 12:04 »

Эх, больная и для нас тема....
Решили так.
Сырцы либ лежат в одном репозитории.
Дллки и бинарники отдельно для каждой оси и компилятора в других репах.
На рабочие машины отдельно качаются исходники и отдельно бинарники.
При сборке юзаем qmake, в которых прописаны правила для каждой оси и компиля отдельно для всех либ и инклудов (пути, имена, версии...)
Как то так.
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #2 : Май 21, 2016, 15:29 »

1. Исключение дублирования информации (например, сорцы библиотек - они будут одними и теми же для всех ОСей,
Выглядит весьма логично, но меня всегда останавливало включение "сетевых" файлов в проект.
Записан
vipet
Бывалый
*****
Offline Offline

Сообщений: 452


Просмотр профиля
« Ответ #3 : Май 21, 2016, 21:15 »

юзать кросс-платформенный менеджер-билдер проектов, напр. CMake. (А qmake - это имхо слабовато.)

IDE - это вторично и на выбор каждого девелопера. Кому-то vim за малину, кому-то гуевый подавай.

Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #4 : Май 21, 2016, 22:32 »

cmake, vim... Вообще-то уже 21-й век на дворе Улыбающийся
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
vipet
Бывалый
*****
Offline Offline

Сообщений: 452


Просмотр профиля
« Ответ #5 : Май 22, 2016, 13:24 »

cmake, vim... Вообще-то уже 21-й век на дворе Улыбающийся

И?
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #6 : Май 22, 2016, 21:13 »

Как бы работать в 21 веке принято в IDE, а не в блокноте Подмигивающий
Но это так, оффтоп.
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
qate
Супер
******
Offline Offline

Сообщений: 1177


Просмотр профиля
« Ответ #7 : Май 22, 2016, 22:55 »

Основная система linux (qtcreator, git), основная разработка и отладка в ней
Под венду собирается кросскомпиляцией mingw 
Возможностей qmake+bash хватает
Под android пока только тесты(изучение), но в qtcreator проект собирался и на устройство устанавливался, т.е. процесс сборки похож
Записан
vipet
Бывалый
*****
Offline Offline

Сообщений: 452


Просмотр профиля
« Ответ #8 : Май 23, 2016, 14:53 »

Как бы работать в 21 веке принято в IDE, а не в блокноте Подмигивающий
Но это так, оффтоп.

vim - это блокнот? Улыбающийся это намного мощнее любого GUI-IDE.

Но, повторюсь, проект не должен привязывать к какой-либо IDE. Выбор того, в чем пишется код должен быть индивидуален.

P.S. Путешествие в увлекательный мир vim'a можно начать, например, с этого: https://www.quora.com/How-can-I-be-a-faster-programmer/answer/Tommy-Ip?srid=oNPp
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #9 : Май 23, 2016, 15:44 »

vim - это блокнот? Улыбающийся это намного мощнее любого GUI-IDE.

Вы серьезно?
Нет, я понимаю, там, скрипт поправить, питоном поиграться...
Ну а как насчет более трудоемких задач? Рефакторинг, отладка, например?

Но, повторюсь, проект не должен привязывать к какой-либо IDE. Выбор того, в чем пишется код должен быть индивидуален.

Это спорный момент. Опять же, для питонов-пхп, наверное, непринципиально.
Но C++ проекты, как правило, собираются с помощью конкретных тулчейнов и отлаживаются с учетом тех инструментов, которые предоставляются производителями IDE. Например, Visual Studio. Там отладчик прибит гвоздями к IDE. Какой смысл разработчику использовать что-то другое?

P.S. Путешествие в увлекательный мир vim'a можно начать, например, с этого: https://www.quora.com/How-can-I-be-a-faster-programmer/answer/Tommy-Ip?srid=oNPp

Чисто практический вопрос.
Смотрите, вот есть, допустим, фирма, пишущая софт на C++/Qt. Каким образом переход на vim "с прыжка" улучшит производительность компании? Что там есть такого, что "родная" IDE предоставить не сможет?
(Речь идет о профессиональной разработке, большой отдел, большие проекты, большие деньги - как следствие, "переучивать" людей добро никто не даст).
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
qate
Супер
******
Offline Offline

Сообщений: 1177


Просмотр профиля
« Ответ #10 : Май 23, 2016, 20:42 »

P.S. Путешествие в увлекательный мир vim'a можно начать, например, с этого: https://www.quora.com/How-can-I-be-a-faster-programmer/answer/Tommy-Ip?srid=oNPp

т.е. чтобы довести vim до уровня креатора нужно ставить кучу плагинов, наверно даже чтобы просто мышь подвести к макросу и отобразить его нужен плагин
псевдографика тоже не красит внешний вид, и не сможет тягаться с графикой ибо она "псевдо"
двухрежимность (редактор и команды) vim на любителя, мне не неудобна
если кому нравится vim - я не против, не буду уговаривать на чтото иное, главное чтобы код был написан )
но новичкам vim я не посоветую

соглашусь с тем, что сборка не должна быть привязна к ide, и в qt она и не привязана
Записан
_Bers
Бывалый
*****
Offline Offline

Сообщений: 486


Просмотр профиля
« Ответ #11 : Май 24, 2016, 02:23 »

Собственно, кто как организовывает свою рабочую среду (компиляторы, IDE, и т.д.), если нужно разрабатывать на C++/Qt из под нескольких ОСей, установленных на одной машине. Основными критериями эффективности выступают:
1. Исключение дублирования информации (например, сорцы библиотек - они будут одними и теми же для всех ОСей, или, например, конфигурационные файлы IDE).
все как обычно:
родные исходники - в одной репе,
external (готовые сборки сторонних библиотек) - в другой. можно хранить на фтп.
thirdparty (исходники сторонних библиотек) - в третьей.
ресурсы обычно на фтп живут.

и все это выкачивается в какой то рабочий каталог.

система сборки - cmake.
если хочется реально поиметь независимость от IDE.
если не хочется, тогда можно сидеть на qmake.


2. Быстродействие (т.е., например, использовать прямой доступ к файловой системе, а не через git).
этот бред даже комментировать не хочется.

Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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