
Berkus
29.08.2017
10:56:48
ну посмотри как блендер сделал и сделай так же - он же опенсорсный

Denis
29.08.2017
10:58:28
elseif(WITH_INSTALL_PORTABLE)
install(
PROGRAMS
${CMAKE_SOURCE_DIR}/release/bin/blender-thumbnailer.py
DESTINATION "."
)
Казалось бы так, но даже после удаления этих файлов из папки иконка у приложения остается
Ой
Не тот кусок

Google

Denis
29.08.2017
10:58:51
install(
FILES
${CMAKE_SOURCE_DIR}/release/freedesktop/blender.desktop
${CMAKE_SOURCE_DIR}/release/freedesktop/icons/scalable/apps/blender.svg
DESTINATION "."
)

Berkus
29.08.2017
10:59:27
а в blender.desktop что?

Denis
29.08.2017
11:00:46
[Desktop Entry]
Name=Blender
GenericName=3D modeler
Comment=3D modeling, animation, rendering and post-production
Keywords=3d;cg;modeling;animation;painting;sculpting;texturing;video editing;video tracking;rendering;render engine;cycles;game engine;python;
Exec=blender %f
Icon=blender
Terminal=false
Type=Application
Categories=Graphics;3DGraphics;
MimeType=application/x-blender;
Без языков вот это
Но удаление или изменение этого файла никак не влияет на запуск exe
Вот что странно
Поиск blender.desktop в / ничего не дал

Berkus
29.08.2017
11:09:18
значит иконку они по другому задают
во первых, в каком DE это происходит?
(во-вторых наверное лютый офтоп, хоть чат по осям заводи)

Denis
29.08.2017
11:11:21
Ubuntu(Gnome)
Да, за оффтоп прошу прощения

Azoyan
29.08.2017
11:12:29
Парни, как-нибудь можно сделать так:
int a = 4;
//магия
a++; // ошибка компиляции

Google

Berkus
29.08.2017
11:12:42
Ubuntu(Gnome)
https://portland.freedesktop.org/doc/xdg-desktop-icon.html а они ничего такого не делают?

Azoyan
29.08.2017
11:13:18

Denis
29.08.2017
11:13:37

Ilia
29.08.2017
11:15:18

Azoyan
29.08.2017
11:15:35
Надо добавить в стандарт

Ilia
29.08.2017
11:15:46
Если сделаешь врапер int и перегрузишь там operator ++ — можно

Berkus
29.08.2017
11:16:03
(олсо если каждое выдуманное говно тащить в стандарт не объясняя зачем это нужно... Объясняй теперь!)

Azoyan
29.08.2017
11:16:31

Berkus
29.08.2017
11:16:56

Evgeniy
29.08.2017
11:17:01

Александр
29.08.2017
11:17:07

Azoyan
29.08.2017
11:18:32
Окей. Смотрите
const string a = ok ? "abc" : "";
всё нормально

Александр
29.08.2017
11:19:01
если тебе нужна расширенная инициализация, юзай мой пример с лямбдой. самое удобное

Azoyan
29.08.2017
11:19:54
string a;
if (ok) a = "abc";
// а теперь сделайте мою строку константной“

Ilia
29.08.2017
11:19:58

Александр
29.08.2017
11:20:33
это невозможно

Azoyan
29.08.2017
11:21:06
Может в стандарт добавить?

Александр
29.08.2017
11:22:53
тогда слетит нахрен вся система типов

Google

Evgeniy
29.08.2017
11:23:02

Azoyan
29.08.2017
11:23:20
Копирование

Александр
29.08.2017
11:23:33
move делай

Denis
29.08.2017
11:24:00

Azoyan
29.08.2017
11:24:04
Хм, меня устроит это если не будет оверхеда

Ilia
29.08.2017
11:24:36
Так чё ты хочешь то?

Like
29.08.2017
11:25:00
Чтобы нельзя было изменять значение
По идеи

Ilia
29.08.2017
11:26:06
Типа поработать с переменной, а потом зафиксировать ?

Azoyan
29.08.2017
11:26:10
Всё так.

Александр
29.08.2017
11:26:28
Может в стандарт добавить?
static int a;
if (something_runtime()) {
// magic, that makes a const
}
static_assert(std::is_const_v<decltype(a)>, "will fire?");

Ilia
29.08.2017
11:26:54
Ну так объяви переменную , присвой как надо, потом ИНИЦИИРУЙ ЕЮ КОНСТАНТНУЮ ССЫЛКУ, и работай дальше только со ссылкой

Александр
29.08.2017
11:27:04
Всё так.
ну почему нельзя сделать лямбдой???

Azoyan
29.08.2017
11:29:03
Можно и функцию

Александр
29.08.2017
11:29:35
в лямбде нет оверхеда, там тот же RVO/NRVO
это красиво

Ilia
29.08.2017
11:33:31
Можно
А что вы лямбдой хотите сделать ?

Pavel
29.08.2017
11:43:00
const int & b = a; ?

Google

Pavel
29.08.2017
11:43:37
а, было уже
ну, вобщем да. если поведение с переменной меняется, то я бы вообще утащил этот блок в отдельную функцию с константным аргументом
а там уж решать, ссылко оно или указатель или что там народ ещё понавыдумывал

Berkus
29.08.2017
11:59:29

Azoyan
29.08.2017
12:00:10
Может быть не надо.

Nik
29.08.2017
12:00:26

Admin
ERROR: S client not available

Azoyan
29.08.2017
12:01:32

Berkus
29.08.2017
12:02:24
/warn учитесь читать правила чата

Group Butler [beta]
29.08.2017
12:02:25
KnowWhereGoToWork has been warned (1/5)

Ilia
29.08.2017
12:04:48

Danylo
29.08.2017
12:04:59
@berkus сегодня злой какой-то.

Ilia
29.08.2017
12:05:17

Azoyan
29.08.2017
12:07:05

Ilia
29.08.2017
12:11:38
Всё, я понял.

Berkus
29.08.2017
12:11:54

Stanislav
29.08.2017
12:12:38

Vitaly
29.08.2017
12:49:33

Denis
29.08.2017
12:50:04

Google

Vitaly
29.08.2017
12:50:13

Denis
29.08.2017
12:51:51
Естественно, но у нас есть необходимость поддерживать такие версии. Понятно, что не для всех систем

Vitaly
29.08.2017
12:52:06
Если ты хочешь, чтобы твоё приложение работало во всех GNU/Linux дистрибутивах, то линкуй его статически. Это единственно стопроцентно работающий вариант, но результирующий бинарник будет огромного размера из-за включения внутрь libc, libstdc++ и прочих жизненно важных для его работы библиотек.
При динамической линковке требуется тащить с собой кучу динамических библиотек нужных версий, с которыми собрано приложение, и далее загружать их через такие костыли, как LD_PRELOAD.
Но также следует помнить, что если твоё приложение имеет закрытые исходники, ты можешь линковаться статически только с библиотеками под LGPL и более permissive, но не GPL.

Denis
29.08.2017
12:54:33
Спасибо за инфу, полезно. Но у меня задача маленькая сейчас
Просто прикрутить иконку
Вещи, которые ты расписал, решаю не я

Berkus
29.08.2017
12:55:13

Pavel
29.08.2017
12:55:29
как докер пилить дак ничего, а как LD_LIBRARY_PATH поставить так сразу костыли
а если багу найдут в глибц мне опять всё перелинковывать?

Berkus
29.08.2017
12:55:58

Pavel
29.08.2017
12:56:14
тогда уж давайте и ядра с собой таскать. чо уж

Berkus
29.08.2017
12:56:28
так VM так и делает /shrug

Pavel
29.08.2017
12:56:31
ато вот современные глибц же не работают со старыми ядрами айяйяй

Vitaly
29.08.2017
12:56:42