Так там небось ошибки компиляции под линукс полезут.
Ну попроси альбатроссов заняться. Заодно пусть в репозиторий закинут для удобства.
Добавлено 27-03-2018 в 19:03:
А вообще я предлагаю просто создать тему с альтернативными компиляторами под Джек, и пусть желающие их ставят.
С бесплатной версией джека будем по-прежнему распространять классические VHLT, а с платной как известно, нельзя распространять никакие, и тут ничего поделать нельзя.
XaeroX писал: С бесплатной версией джека будем по-прежнему распространять классические VHLT, а с платной как известно, нельзя распространять никакие, и тут ничего поделать нельзя.
Мапперам в любом случае нужны версии под все три ОСи для тестирования. Надо тем, кто может в линукс и макось, отдельную репу завести на гитхабе. И чтобы оттуда можно было выкачать бинарники. Актуальные.
XaeroX, проверь ещё, что на макоси правильно детектится количество тредов (собственно, это была основная причина заводить репу). Я добавлял автоопределение количества CPU для макоси (machdep.cpu.core_count в threads.cpp), но никогда не тестил.
Вот патч с изменениями.
Напрямую его, наверное, применить не получится, т.к. я его редактировал вручную (там была куча левых диффов LF->CR, плюс для джека я по дефолту выключаю эстимейт, иначе в консоль вываливается простыня, она ж не понимает '\r'). Может, эти правки и не существенны - но кланг ругался на оригинал.
В мейкфайле я добавил VERSION_MACOS и -Wno-deprecated-declarations к параметрам компиляции.
В остальном вроде всё.
FreeSlave
У тебя там каст 32-битной переменной к указателю, который на 64-битной системе имеет размерность 64 бита. Это UB согласно п. 5.2.10 стандарта:
Цитата:
A value of integral type or enumeration type can be explicitly converted to a pointer. A pointer converted
to an integer of sufficient size (if any such exists on the implementation) and back to the same pointer type
will have its original value; mappings between pointers and integers are otherwise implementation-defined.