Нашёл прогу давно на alternatives давно, сейчас руки дошли запилить на нее ebuild.
https://github.com/ckaiser/Lightscreen
При сборке данного релиза возникает ошибка, которой нет в master (зато появилась другая, связанная с возвратом QPixmap из QPair<QPixmap, QPointer>... в общем, вернемся к релизу
В файле ./tools/screenshot.h, в классе Screenshot, определен enum Result с элементами Failure, Success, Cancel, после которого - Q_ENUM (Result).
Здесь никакой разницы между релизом и срезом я н нашёл.
Дальше, этот заголовок используется в screenshot.cpp и ещё одном исходнике.
Вся проблема в записях типа Screenshot::Success - в том другом исходнике он не вызывает ошибок, но на screenshot.cpp, в релизе, выводит такое:
Код: Выделить всё
In file included from tools/screenshot.cpp:44:0:
tools/screenshot.cpp: В функции-члене «void Screenshot::save()»:
tools/screenshot.cpp:247:34: ошибка: expected unqualified-id before numeric constant
result = Screenshot::Success;
^
tools/screenshot.cpp:257:79: ошибка: expected unqualified-id before numeric constant
result = (QFile::rename(mUnloadFilename, fileName)) ? Screenshot::Success : Screenshot::Failure;
^
tools/screenshot.cpp:257:79: ошибка: expected «:» before numeric constant
tools/screenshot.cpp:259:34: ошибка: expected unqualified-id before numeric constant
result = Screenshot::Success;
^
make: *** [Makefile:916: screenshot.o] Ошибка 1
(в срезе проходит без запинок)
Причём другие варианты, типа Success::Failure и Success::Cancel никакой аллергии не вызывают.
Если сравнить с версией из master, то вроде никаких изменений в этом плане нет, те же enum, Q_ENUM, и т.д.
Остается грешить на компилятор - он на некоторых пакетах то и дело вылетает с internal compiler error, некоторые собираются только со 2..4 попытки.
gentoo, gcc-5.4.0-r3, qt-5.7.1