LINUX.ORG.RU

Помогите собрать

 mazecompositor, ,


0

1

Наткнулся на такой мега-интересный проект https://github.com/bionade24/mazecompositor хочу потыкать,а автор ни инструкции по сборке не оставил,ни makefile, ничего. Кто шарит,подскажите,как это скомпилять все? Если вдруг кто тыкал - поделитесь впечатлениями плиз.

Upd. Вроде собралось,вроде работает,а вот как там проги запускать,я хз. Если вдруг кто в курсе - подскажите)

★★★

Последнее исправление: Dog (всего исправлений: 2)

а автор ни инструкции по сборке не оставил,ни makefile, ничего

В каком смысле не оставил? Это Qt-проект.

В нормальных дистрибутивах:

qmake CONFIG+=release mazecompositor.pro
make

В ненормальных дистрибутивах qmake заменить на qmake-qt5, QT_SELECT=5 qmake или ещё какую-нибудь срань, которая пришла в голову мейнтейнеру пакетов Qt в определённом дистрибутиве.

Естественно developer-пакеты Qt, Qt-WaylandCompositor и Qt-WaylandCompositorPrivate должны быть установлены.

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 3)
Ответ на: комментарий от EXL

В прямом, вот эти команды,что ты написал,должен был автор в ридми оставить. Спасибо! ПыСы: походу у меня нормальный) Арчик если что.

Dog ★★★
() автор топика
Последнее исправление: Dog (всего исправлений: 1)
Ответ на: комментарий от Dog

Блин,ну не все программисты)

Не программистам исходные тексты не нужны! Писать руководство, на какие кнопки нажимать для типовых действий желающих мало.

sigurd ★★★★★
()
Ответ на: комментарий от DrBrown

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

sigurd ★★★★★
()
Ответ на: комментарий от sigurd

Так это прямое следствие отсутствия инструкций по сборке и это плохо. Представим, что я программист C/C++ и не работал с Qt, но краем уха слышал про qmake. Мне нужно будет понять, нужны ли какие-то ключи или нет. Полазил по интернету, разобрался. Запустил qmake, а он сыпет ошибки об отсутствующих модулях. Чертыхнулся, полазил по форумам, установил нужные библиотеки Qt. Запустил make, компилятор ругается на неподходящию версию. Плюнул и удалил сорцы, пошел искать аналог с вменяемой инструкцией по сборке.

DrBrown
()
Ответ на: комментарий от EXL

В ненормальных дистрибутивах

или ещё какую-нибудь срань

А как делают «в нормальных дистрибутивах» без «срани», если надо дать возможность сборки проектов под несколько мажорных версий Qt?

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от sigurd

Лол,правда чтоли? Собирать программы из сырцов это какая-то особая привелегия программистов,ты считаешь?

И тем не менее, в большинстве проектов, где даже makefile уже есть, пишут, как собрать.

Те же мейнтейнеры дистров,многие не программисты. Языков много,программ много, я сомневаюсь,что даже среди Ъ-программистов наберется много таких, кто без инструкции сможет вообще любой проект с Гитхаба собрать.

И в данном случае, автор на документацию забил от слова совсем, как программу юзать тоже не ясно, нет даже –help.

Dog ★★★
() автор топика
Ответ на: комментарий от nikitalol
  1. проект протух

Да нет,нормально все собралось и запустилось. Просто без понятия,как туда окна затаскивать.

  1. пиши issue

Смысл? Там несколько лет никакой активности.

  1. можешь форкнуть и написать доки сам если видишь потенциал в программе

В пятый раз за тред, Я НЕ ПРОГРАММИСТ)

Dog ★★★
() автор топика
Ответ на: комментарий от EXL

В каком смысле не оставил? Это Qt-проект.

А я вот тоже совершенно не знал что у «qt-проектов» есть общий стандартный способ сборки.

Я бы попробовал gcc/g++ *.cpp -I... -l...

Вместо многоточий подбор методом тыка. Может быть даже сработало бы (пробовать не буду).

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 2)
Ответ на: комментарий от firkax

Вообще-то, даже не «qt-проекты» на C или С++ обычно опираются на ту или иную систему сборки, cmake, meson, autotools… В самом-самом крайнем случае готовый мейкфайл (который крайне трудно читаем и переносим).

Голым g++ можно собрать разве что какой-нибудь не очень большой проект «всё в одном», где всё в main.cpp засунуто.

Может быть даже сработало бы

Нет.

hobbit ★★★★★
()
Ответ на: комментарий от Dog

Собирать программы из сырцов это какая-то особая привелегия программистов,ты считаешь?

Это не привилегия, это их работа, требующая профессиональных навыков.
Конечно есть программные продукты, авторы которых заинтересованы в их распространении и популяризации. Там есть и инструкции и руководства и статьи в Инете и даже ролики в Ютубе.
Но есть и домашние проекты «для себя». Человек написал для себя и выложил исходники - как есть. С какого перепуга он должен сочинять инструкции для чайников, ничего не смыслящих в программировании?

sigurd ★★★★★
()
Ответ на: комментарий от firkax

Я бы попробовал gcc/g++ *.cpp -I… -l…

С Qt это не работает, потому что Qt расширяет синтаксис и возможности C++, внедряя туда систему сигналов-слотов. Чтобы всё это работало перед компиляцией необходимо сгенерировать доп. файлы с помощью Meta-Object Compiler moc, порождённые файлы из которого тоже нужно будет компилировать и прилинковать к проекту.

EXL ★★★★★
()
Ответ на: комментарий от Dog

В пятый раз за тред, Я НЕ ПРОГРАММИСТ)

Сначала люди воспринимают тебя как опасность, конкурента, поэтому ругают за несостоятельность программиста. А потом ты говоришь, что ты им не опасен и в каждом хомяке-программисте просыпается лютый лев, готовый разодрать поганца посягающего на святая святых программизма - канпеляцию. Вот этого они тебе не простят :)))

R_He_Po6oT ★★★★
()
Ответ на: комментарий от sigurd

Между инструкцией для чайников, и копипастом пары строчек из первого коммента в треде все таки огромная пропасть. Как бы да,его проект,его дело. Но раз выложил в паблик,значит хоть минимально,но в распространении заинтересован. Скопипастить пару строчек точно не сложнее,чем прикрепить скриншот)

Dog ★★★
() автор топика
Ответ на: комментарий от Dog

Смысл? Там несколько лет никакой активности.

Это и назвается протух

Не писать ишью смысла не вижу, либо тебя проигнорят, либо про проект вспомнят

  1. можешь форкнуть и написать доки сам если видишь потенциал в программе

В пятый раз за тред, Я НЕ ПРОГРАММИСТ)

Неофициальный закон опенсорса: если тебе что то нужно сделай это сам

В данном случае формулируется как если тебе что то не нравится то исправь это сам

И не важно, программист ты или погромист

nikitalol
()
Последнее исправление: nikitalol (всего исправлений: 1)
Ответ на: комментарий от EXL

Ясно. А то я посмотрел по-быстрому несколько .cpp исходников, вроде ничего генерируемого в начале в инклюдах не стоит, ну и решил что может прокатит. Ну да ладно, не сильно и хотелось.

firkax ★★★★★
()
Ответ на: комментарий от hobbit

Вообще-то, даже не «qt-проекты» на C или С++ обычно опираются на ту или иную систему сборки, cmake, meson, autotools… В самом-самом крайнем случае готовый мейкфайл (который крайне трудно читаем и переносим).

Про наличие систем сборки я в курсе, но очень часто они по факту не особо полезны. Например, мне надо было собрать что-то с fuse на старой системе где ОС-пакеты уже не ставились, а libfuse там не было. Скачал исходники (2.9.9), обнаружил что оно не собирается и хочет ещё какую-то муть которой у меня не установлено (уж не помню что именно). Выкинул оттуда весь автотулзовый мусор (./configure 500КБ, Makefile.in 28КБ и какие-то m4+shell портянки ещё на 650КБ), написал sh-скрипт который по сути генерил файл config.h а затем просто вызывал gcc для каждого .c файла и потом ar для создания .a. Весь сборочный скрипт занял 3КБ одним файлом (включая inline содержимое тестовых прог для проверки фич ОС и генерации config.h по ним). Всё заработало.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от nikitalol

Ну не согласен, протух - это когда с текущими версиями либ не собирается. А это скорее «полежало,но еще съедобно»).

Не писать ишью смысла не вижу, либо тебя проигнорят, либо про проект вспомнят

Ну вот буду я щас на Гитхабе регаться,чтобы написать то,что скорее всего не прочтут,а если и прочтут,наверняка проигнорят.

Неофициальный закон опенсорса: если тебе что то нужно сделай это сам

Так я и сделал,пошел на профильный форум и спросил. И первым же комментом мне помогли,за что респект. А потом уже по традиции флудеры понабежали)

Dog ★★★
() автор топика
Ответ на: комментарий от Dog

Ну вот буду я щас на Гитхабе регаться,чтобы написать то,что скорее всего не прочтут,а если и прочтут,наверняка проигнорят.

Странная позиция, что-то полезное сделать тебе лень. Но в то же время все вокруг тебе должны все разжевать и в рот положить!
А ведь все это элементарно ищется в Инете. Искать тоже лень?

sigurd ★★★★★
()
Последнее исправление: sigurd (всего исправлений: 1)
Ответ на: комментарий от firkax

написал sh-скрипт

Ну поздравляю, ты написал свой мини-autotools. Скорее всего, под конкретный дистрибутив линукс. А если надо собрать под какой-нибудь *BSD или не дай боже, винду?

Если же из исходников собирает непрограммист, о чём выше писал @Dog, рекомендовать такой способ уже совсем негуманно, нужна система сборки. qmake, кстати, по синтаксису выше — один из простейших вариантов.

hobbit ★★★★★
()
Ответ на: комментарий от Dog

И первым же комментом мне помогли,за что респект. А потом уже по традиции флудеры понабежали)

Это, кстати, хороший вариант. Хуже когда наоборот, флудеры ТСа затюкали, а когда он плюнул и ушёл — подтянулись знающие.

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

Ну поздравляю, ты написал свой мини-autotools. Скорее всего, под конкретный дистрибутив линукс. А если надо собрать под какой-нибудь *BSD или не дай боже, винду?

Нет. Повторю суть: там был автотулзовый мусор, который занимал больше одного мегабайта всяческих нечитабельных портянок и при этом не работал (требовал какие-то ещё мусорные зависимости). У меня же получился 3кб скрипт который работал. И нет, не под конкретный дистр. Работало и на дебиане и на фрибсд (включая древний 8.х, вышедший лет 15 назад). Под винду - нет, конечно, где ты видел fuse в винде?

Я же писал - в этом скрипте в том числе и замена 500кбайтному ./configure (я посмотрел в исходниках какие дефайны HAVE_XXX они используют и всех их проверяю тестами и генерю).

Ну на самом деле я немного недосказал: gcc там вызывается не напрямую а через обёртки, которые у меня везде к нему стоят (которые сами детектят его расположение и наличие gcc или другого совместимого компилятора которым может оказаться clang + включают хороший набор варнингов). Общий объем этих обёрток ну пусть ещё 6кб. Ну и ещё там есть патч в libfuse на 8кб - но это уже не сборочная система а фиксы к найденным проблемам в его коде (например я компилирую с -Wshadow -Werror а в fuse часть кода этому не соответствует, или ещё в одном месте там баг int vs size_t на 64 битах).

firkax ★★★★★
()
Ответ на: комментарий от Dog

Ну вот буду я щас на Гитхабе регаться,чтобы написать то,что скорее всего не прочтут,а если и прочтут,наверняка проигнорят.

Ну вообще это правило хорошего тона так то иметь полузаброшенный профиль на гитхабе

nikitalol
()
Ответ на: комментарий от Dog

Так я и сделал,пошел на профильный форум и спросил.

Нет ты кажется не понял

Сделал это не спросил на форуме, а именно сделал с доведеним до конечного результата

А ты просто спросил на форуме

nikitalol
()