SDK у меня подключено ,а как лямбу заменить1 3 ошибка - подключи directx либы, 2 ошибка - можешь просто сделать не лямбду а обычную функцию
А что за DirectX Либы ? Не шарю просто . Если не трудно ,объясни :-)1 3 ошибка - подключи directx либы, 2 ошибка - можешь просто сделать не лямбду а обычную функцию
А откуда качать хоть примерно , в визуал Студии ?у тебя уродский директикс сдк, переустанови и укажи путь в настройках
Пробывал ,не помоглоПро DirectX, у меня такое тоже было, вроде подключил, перезапустил Визуалку, все слетело, проверь еще раз
Скинь эту лямбду я тебе перепишу под обычную функциюSDK у меня подключено ,а как лямбу заменить
__asmСкинь эту лямбду я тебе перепишу под обычную функцию
Функцию полностью скинь, то, что ты скинул, это даже не строчка кода, и точно не лямбда функция, а указание на то, что далее идет ассемблерный код__asm
Вот лямбда
У меня ошибка на этой строчкеФункцию полностью скинь, то, что ты скинул, это даже не строчка кода, и точно не лямбда функция, а указание на то, что далее идет ассемблерный код
void AngleVectors(const Vector &angles, Vector *forward, Vector *right, Vector *up)Функцию полностью скинь, то, что ты скинул, это даже не строчка кода, и точно не лямбда функция, а указание на то, что далее идет ассемблерный код
Замени на это:void AngleVectors(const Vector &angles, Vector *forward, Vector *right, Vector *up)
{
auto SinCos = [](float flRadians, float* pflSine, float* pflCosine)
{
__asm
{
fld DWORD PTR[flRadians]
fsincos
mov edx, DWORD PTR[pflCosine]
mov eax, DWORD PTR[pflSine]
fstp DWORD PTR[edx]
fstp DWORD PTR[eax]
}
};
float sr, sp, sy, cr, cp, cy;
SinCos(DEG2RAD(angles[1]), &sy, &cy);
SinCos(DEG2RAD(angles[0]), &sp, &cp);
SinCos(DEG2RAD(angles[2]), &sr, &cr);
if (forward)
{
forward->x = cp * cy;
forward->y = cp * sy;
forward->z = -sp;
}
if (right)
{
right->x = (-1 * sr*sp*cy + -1 * cr*-sy);
right->y = (-1 * sr*sp*sy + -1 * cr*cy);
right->z = -1 * sr*cp;
}
if (up)
{
up->x = (cr*sp*cy + -sr * -sy);
up->y = (cr*sp*sy + -sr * cy);
up->z = cr * cp;
}
}
void SinCos(float flRadians, float* pflSine, float* pflCosine)
{
__asm
{
fld DWORD PTR[flRadians]
fsincos
mov edx, DWORD PTR[pflCosine]
mov eax, DWORD PTR[pflSine]
fstp DWORD PTR[edx]
fstp DWORD PTR[eax]
}
}
void AngleVectors(const Vector &angles, Vector *forward, Vector *right, Vector *up)
{
float sr, sp, sy, cr, cp, cy;
SinCos(DEG2RAD(angles[1]), &sy, &cy);
SinCos(DEG2RAD(angles[0]), &sp, &cp);
SinCos(DEG2RAD(angles[2]), &sr, &cr);
if (forward)
{
forward->x = cp * cy;
forward->y = cp * sy;
forward->z = -sp;
}
if (right)
{
right->x = (-1 * sr*sp*cy + -1 * cr*-sy);
right->y = (-1 * sr*sp*sy + -1 * cr*cy);
right->z = -1 * sr*cp;
}
if (up)
{
up->x = (cr*sp*cy + -sr * -sy);
up->y = (cr*sp*sy + -sr * cy);
up->z = cr * cp;
}
}
Ошибка пропала , но появилась другаяЗамени на это:
C++:void SinCos(float flRadians, float* pflSine, float* pflCosine) { __asm { fld DWORD PTR[flRadians] fsincos mov edx, DWORD PTR[pflCosine] mov eax, DWORD PTR[pflSine] fstp DWORD PTR[edx] fstp DWORD PTR[eax] } } void AngleVectors(const Vector &angles, Vector *forward, Vector *right, Vector *up) { float sr, sp, sy, cr, cp, cy; SinCos(DEG2RAD(angles[1]), &sy, &cy); SinCos(DEG2RAD(angles[0]), &sp, &cp); SinCos(DEG2RAD(angles[2]), &sr, &cr); if (forward) { forward->x = cp * cy; forward->y = cp * sy; forward->z = -sp; } if (right) { right->x = (-1 * sr*sp*cy + -1 * cr*-sy); right->y = (-1 * sr*sp*sy + -1 * cr*cy); right->z = -1 * sr*cp; } if (up) { up->x = (cr*sp*cy + -sr * -sy); up->y = (cr*sp*sy + -sr * cy); up->z = cr * cp; } }
Я не экстрасенс, ну, не найдено, значит такой переменной не существует, но в коде к ней идет обращениеОшибка пропала , но появилась другая
Посмотреть вложение 13757
Найди у себя на ПК эти файлы, и измени путь к ним относительно своего ПК, что сложного? Уже что такое путь, директория должен знать любой, кто сидит за компьютером. Компилятор сам написал, что не удается открыть, нет файла или директории с ним
Дак он есть в этой папке куда директория указаннаНайди у себя на ПК эти файлы, и измени путь к ним относительно своего ПК, что сложного? Уже что такое путь, директория должен знать любой, кто сидит за компьютером. Компилятор сам написал, что не удается открыть, нет файла или директории с ним
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz