
ilynxy
24.07.2018
12:21:48
Господа, небольшой оффтопик, но может быть кто-то мне быстро подскажет. Использую conan.io под win10, установил инсталлером с сцайта. Если делаю conan install <package> —build=missing, то он почему-то билдит в c:/.conan, вместо c:/user/name/.conan. При этом пребилды устанавливает куда надо. То есть, проблема только с билдом. Или может скажет, что не использовать conan.io а взять другой менеджер для C++?

Alexander
24.07.2018
12:26:05
и можешь спросить в cpplang.slack.com #conan

Igor
24.07.2018
12:27:28

Google

ilynxy
24.07.2018
12:27:40
@Artalus ага
и в сгенерированных файлах указатели на эти директории

Ilia
24.07.2018
12:28:06
HOME может поменять?

Kirill
24.07.2018
12:28:06
Conan очень плох одним - pip'ом

Igor
24.07.2018
12:28:07
https://docs.conan.io/en/latest/reference/conanfile/attributes.html#short-paths

Alexander
24.07.2018
12:28:23

Igor
24.07.2018
12:29:14
на винде конан априори считает что всё оче плохо, ограничение длины пути в 200 символов, и пытается выкручиваться из ситуации храня пакеты с максимально укороченными названиями

ilynxy
24.07.2018
12:29:37
я из документации не могу понять как глобально отключить short-paths

Ilia
24.07.2018
12:29:51
Да блин, ну всегда найдут к чему придраться же!
Одним язык не нравится. Другим PIP!

Kirill
24.07.2018
12:30:27

Alexander
24.07.2018
12:31:27

ilynxy
24.07.2018
12:31:38
нене, щаз пип не нужен, они запилили свой инсталлер

Google

Ilia
24.07.2018
12:31:56
Для установки самого конана он требовался.
А ещё можно установить из пакета, руками, скачав ...

Igor
24.07.2018
12:32:55

ilynxy
24.07.2018
12:34:43
Спасибо!

Konstantin
24.07.2018
12:35:40

ilynxy
24.07.2018
12:35:52
в рецептах не стоит
Тут вот подробно: https://github.com/conan-io/conan/issues/2009 , но я не могу понять всю магию, чтобы заработало =)

Igor
24.07.2018
12:36:33
стоит неявно, попробуй собрать какой-нибудь пакет с отключенной опцией

ilynxy
24.07.2018
12:46:03

Vitali
24.07.2018
14:20:51
не подскажите?
решил для векторов юзнуть C++ либу blaze, не понимаю теперь, как мне переделать вот это:
vec3_t skyclip[6] = {
{1,1,0},
{1,-1,0},
{0,-1,1},
{0,1,1},
{1,0,1},
{-1,0,1}
};
если я заменяю vec3_t(который представляет собой typedef float vec3_t[3]) на Vector3f(который является typedef blaze::StaticVector<float, 3> Vector3f) то компилятор начинает выдает ошибку: преобразование в «math::Vector3f» {aka «blaze::StaticVector<float, 3>»} из списка инициализации будет использовать явный конструктор «blaze::StaticVector< <template-parameter-1-1>, <anonymous>, <anonymous> >::StaticVector(std::initializer_list<_Tp>) [with Type = float; long unsigned int N = 3; bool TF = false]»

Aidar
24.07.2018
14:32:57
это точно ошибка?

Vitali
24.07.2018
14:34:42
да, если g++ меня колнечно не обманывает

Aidar
24.07.2018
14:36:05
попробуй написать еще одни скобки

Vitali
24.07.2018
14:37:22
так?
vec3_t skyclip[6] = {{
{1,1,0},
{1,-1,0},
{0,-1,1},
{0,1,1},
{1,0,1},
{-1,0,1}
}};
если так, то выдает тоже самое

Aidar
24.07.2018
14:37:38
нет {{1,1,0}},...

Vitali
24.07.2018
14:37:42
только теперь ошибка не повторяется 6 раз
сейчас

Google

Igor
24.07.2018
14:38:09
таки попробуй для начала просто создать vec3_t v = {1,1,1}

Vitali
24.07.2018
14:39:15

Aidar
24.07.2018
14:39:38
кинь сорцы либы

Vitali
24.07.2018
14:39:46
кинь сорцы либы
https://bitbucket.org/blaze-lib/blaze/wiki/Vector%20Operations
сорци там же
я так понимаю, что мне надо построить как-то std::initializer_list, именно он требуется для инициализации, а вот при инициализации массива скобки наверное превращаются не в std::initializer_list, а в что-то другое(в C++ совсем не шарю)

Aidar
24.07.2018
14:51:55
>explicit inline StaticVector( initializer_list<Type> list );
они ебнутые

Vitali
24.07.2018
14:54:04
как я сразу недодумался...
Vector3 skyclip[6] = {
Vector3{1,1,0},
Vector3{1,-1,0},
Vector3{0,-1,1},
Vector3{0,1,1},
Vector3{1,0,1},
Vector3{-1,0,1}
};

Ignat
24.07.2018
14:54:34
У — Удобство

Vitali
24.07.2018
14:55:17
да, в обычном C это выглядело покрасивее

Aidar
24.07.2018
14:55:54
автор либы захотел чтобы ты мучился

Ignat
24.07.2018
14:56:24
можешь сделать ему PR

Vitali
24.07.2018
14:56:45
а есть варианты получе? а то я взял первую попавщеюся C++ либу для линейной алгебры

Aidar
24.07.2018
14:56:57
тебе для чего
если мелкие вектора крутить есть glm
glm классика в 3д игрушках на коленке

Vitali
24.07.2018
14:57:54
для разного, от физики и до логики игры
да тут я так понимаю от либы независит, наврядле возможно сделать чтоб работала конструкция такого вида:
Vector3 skyclip[6] = {
{1,1,0},
{1,-1,0},
{0,-1,1},
{0,1,1},
{1,0,1},
{-1,0,1}
};

Google

Aidar
24.07.2018
15:02:24
зависит от слова explicit
по геймдеву есть отдельный чатик @prographon

Aleksandr
24.07.2018
15:06:49
чёт я не уверен, но попробуй вместо 1, 0, 0 написать 1.0, 0.0, 0.0

Aidar
24.07.2018
15:07:27
1.0f

Aleksandr
24.07.2018
15:07:35
даже наверное лучше с f

Vitali
24.07.2018
15:08:27
но сомневаюсь, что будет так работать
меня впринципе устраивает и так как есть

Aidar
24.07.2018
15:09:17
вроде explicit в initlist запрещает присваниевние через равно foo a = {1,2,3};
про массив хз

Constantine
24.07.2018
15:09:40
решил для векторов юзнуть C++ либу blaze, не понимаю теперь, как мне переделать вот это:
vec3_t skyclip[6] = {
{1,1,0},
{1,-1,0},
{0,-1,1},
{0,1,1},
{1,0,1},
{-1,0,1}
};
если я заменяю vec3_t(который представляет собой typedef float vec3_t[3]) на Vector3f(который является typedef blaze::StaticVector<float, 3> Vector3f) то компилятор начинает выдает ошибку: преобразование в «math::Vector3f» {aka «blaze::StaticVector<float, 3>»} из списка инициализации будет использовать явный конструктор «blaze::StaticVector< <template-parameter-1-1>, <anonymous>, <anonymous> >::StaticVector(std::initializer_list<_Tp>) [with Type = float; long unsigned int N = 3; bool TF = false]»
а можно, пожалуйста, НЕ РУССКУЮ версию компилятора?
явный конструктор - explicit ctor?

Vitali
24.07.2018
15:10:07

Aidar
24.07.2018
15:10:09
@webreh почему майки до сих пор нормально не перевели слово останова
останова сервиса что это?

Constantine
24.07.2018
15:10:36

Aidar
24.07.2018
15:10:43
хуже
самописный шлак

Constantine
24.07.2018
15:10:50
останов должен быть, нет?

Aidar
24.07.2018
15:11:16
окей там останов службы, всеравно говно

Google

Constantine
24.07.2018
15:11:31
останов это олдскул термин для команды ЦПУ "конец"

Aidar
24.07.2018
15:11:41
этто олдскул майкотермин

Ilia
24.07.2018
15:11:43

Aidar
24.07.2018
15:11:48
как и брендмауэр и компановщик

Constantine
24.07.2018
15:11:54
брандмауэр

Aidar
24.07.2018
15:12:03
угу

Constantine
24.07.2018
15:12:04
компоновщик)

Aidar
24.07.2018
15:12:10
угу

Constantine
24.07.2018
15:12:12
брандмауэр это правильный перевод

Aidar
24.07.2018
15:12:26
перевод слова firewall?

Constantine
24.07.2018
15:12:31
да

Aidar
24.07.2018
15:12:35
ахах

Constantine
24.07.2018
15:12:40
firewall это каменная стена здания, созданная для прекращения распространения пожара
в русском она (внезапно!) называется брандмауэр

Aidar
24.07.2018
15:13:18
технические термины внезапно не переводятся почти всегда