 |
|

25.08.2015, 04:34
|
|
Новичок
Регистрация: 25.08.2015
Сообщений: 14
С нами:
5641315
Репутация:
0
|
|
Здравствуйте возникла такая вот проблема при компиляции (VS2010) исходника от FYP (не редактировался). Помогите кто чем может, буду вечно благодарен!
1>------ Построение начато: проект: mod_sa, Конфигурация: Release Win32 ------
1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuil d.targets(990,5): warning MSB8012: TargetPath(C:\Users\admin\Desktop\mod_s0beit_sa-1\src\Release\d3d9.dll) не соответствует значению свойства выходного файла (C:\Users\admin\Desktop\mod_s0beit_sa-1\bin\d3d9.dll) для Linker. Это может привести к неправильному построению проекта. Чтобы исправить это, убедитесь, что значения свойств $(OutDir), $(TargetName) и $(TargetExt) соответствуют значению, указанному в %(Link.OutputFile).
1> Создается библиотека C:\Users\admin\Desktop\mod_s0beit_sa-1\src\Release\mod_sa_proxy.lib и объект C:\Users\admin\Desktop\mod_s0beit_sa-1\src\Release\mod_sa_proxy.exp
1>LINK : fatal error LNK1123: сбой при преобразовании в COFF: файл недопустим или поврежден
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
|
|
|

25.08.2015, 04:55
|
|
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами:
6603505
Репутация:
183
|
|
Проект->свойства, там проверь выходной каталог, промежуточный каталог, имя целевого объекта. Вроде про это он тебя просит, а вообще на*** 2010 юзать? уже 2015 есть
|
|
|

25.08.2015, 05:24
|
|
Новичок
Регистрация: 25.08.2015
Сообщений: 14
С нами:
5641315
Репутация:
0
|
|
Я просто не понимаю что туда надо добавить.
Выходной каталог: $(SolutionDir)$(Configuration)\
Промежуточный каталог: $(SolutionDir)\obj\$(Configuration)\
Конечное имя: d3d9
|
|
|

25.08.2015, 09:54
|
|
Познавший АНТИЧАТ
Регистрация: 09.03.2013
Сообщений: 1,771
С нами:
6935121
Репутация:
233
|
|
Сообщение от sotoreal
1>LINK : fatal error LNK1123: сбой при преобразовании в COFF: файл недопустим или поврежден
такая ошибка возникает (по крайней мере у меня возникала) когда проект, созданный в более новой версии VS, компилируется в старой. если на компе установлена более новая версия VS, то рекомендуется использовать её. в комплекте с исходником собейта поставляются решения для разных версий ("mod_sa_VS2008.sln", "mod_sa_VS2010.sln", "mod_sa_VS2012.sln"), следовательно, нужно выбирать соответствующее.
|
|
|

25.08.2015, 16:05
|
|
Новичок
Регистрация: 25.08.2015
Сообщений: 14
С нами:
5641315
Репутация:
0
|
|
Сообщение от FYP
такая ошибка возникает (по крайней мере у меня возникала) когда проект, созданный в более новой версии VS, компилируется в старой. если на компе установлена более новая версия VS, то рекомендуется использовать её. в комплекте с исходником собейта поставляются решения для разных версий ("mod_sa_VS2008.sln", "mod_sa_VS2010.sln", "mod_sa_VS2012.sln"), следовательно, нужно выбирать соответствующее.
Я понимаю дело в том что я уже компилировал в V2008,VS2010,VS2012,VS2015 и все не хочет компилироваться.
|
|
|

25.08.2015, 17:21
|
|
Новичок
Регистрация: 25.08.2015
Сообщений: 14
С нами:
5641315
Репутация:
0
|
|
Вот компилировал в VS2015 исходник VS2010 выдаёт ошибку.
1>c:\users\admin\desktop\mod_s0beit_sa-3\src\cheat_funcs.h(468): error C2589: bool: недопустимая лексема справа от "::"
1>c:\users\admin\desktop\mod_s0beit_sa-3\src\cheat_funcs.h(468): error C2059: синтаксическая ошибка: ::
1>c:\users\admin\desktop\mod_s0beit_sa-3\src\cheat_funcs.h(468): error C2059: синтаксическая ошибка: )
1>c:\users\admin\desktop\mod_s0beit_sa-3\src\cheat_funcs.h(468): error C2143: синтаксическая ошибка: отсутствие ")" перед ";"
|
|
|

25.08.2015, 17:36
|
|
Новичок
Регистрация: 25.08.2015
Сообщений: 14
С нами:
5641315
Репутация:
0
|
|
Теперь откомпилировал заного и дало вот эти ошибки:
1>cheat_actor.cpp(137): error C3499: заданное лямбда-выражение с возвращаемым типом void не может возвращать значение
1>cheat_actor.cpp(144): error C3499: заданное лямбда-выражение с возвращаемым типом void не может возвращать значение
Вот код:
if (nearest_id == -1)
{
nearest_id = actor_find_nearest_ex(ACTOR_ALIVE, [pCam](actor_info *ainfo)
{
CVector src = pCam->Source;
CPed *ped = pGame->GetPools()->GetPed((DWORD *)ainfo);
if (ped == nullptr)
(Ошибка) - return false;
// get the head position
CVector head;
ped->GetTransformedBonePosition(BONE_HEAD, &head);
// check is head in sight
(Ошибка) - return pGame->GetWorld()->IsLineOfSightClear(&src, &head, true, false, false, true, true, false, false);
});
}
|
|
|

25.08.2015, 18:39
|
|
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами:
6603505
Репутация:
183
|
|
Сообщение от sotoreal
Теперь откомпилировал заного и дало вот эти ошибки:
1>cheat_actor.cpp(137): error C3499: заданное лямбда-выражение с возвращаемым типом void не может возвращать значение
1>cheat_actor.cpp(144): error C3499: заданное лямбда-выражение с возвращаемым типом void не может возвращать значение
Вот код:
if (nearest_id == -1)
{
nearest_id = actor_find_nearest_ex(ACTOR_ALIVE, [pCam](actor_info *ainfo)
{
CVector src = pCam->Source;
CPed *ped = pGame->GetPools()->GetPed((DWORD *)ainfo);
if (ped == nullptr)
(Ошибка) - return false;
// get the head position
CVector head;
ped->GetTransformedBonePosition(BONE_HEAD, &head);
// check is head in sight
(Ошибка) - return pGame->GetWorld()->IsLineOfSightClear(&src, &head, true, false, false, true, true, false, false);
});
}
ну так ошибка в твоем коде. У тебя функция void, а ты ей в return суешь всякие false и IsLineOfSightClear
|
|
|

25.08.2015, 18:43
|
|
Новичок
Регистрация: 25.08.2015
Сообщений: 14
С нами:
5641315
Репутация:
0
|
|
Сообщение от SR_team
ну так ошибка в твоем коде. У тебя функция void, а ты ей в return суешь всякие false и IsLineOfSightClear
Хорошо 1 ошибку я исправил удалив false, что надо конкретно изменить во второй строчке что бы было без ошибки.
Вот строчка: return pGame->GetWorld()->IsLineOfSightClear(&src, &head, true, false, false, true, true, false, false);
|
|
|

25.08.2015, 21:01
|
|
Познавший АНТИЧАТ
Регистрация: 09.03.2013
Сообщений: 1,771
С нами:
6935121
Репутация:
233
|
|
C++:
Код:
if
(
nearest_id
==
-
1
)
{
nearest_id
=
actor_find_nearest_ex
(
ACTOR_ALIVE
,
[
pCam
]
(
actor_info
*
ainfo
)
->
bool
{
CVector src
=
pCam
->
Source
;
CPed
*
ped
=
pGame
->
GetPools
(
)
->
GetPed
(
(
DWORD
*
)
ainfo
)
;
if
(
ped
==
nullptr
)
return
false
;
// get the head position
CVector head
;
ped
->
GetTransformedBonePosition
(
BONE_HEAD
,
&
head
)
;
// check is head in sight
return
pGame
->
GetWorld
(
)
->
IsLineOfSightClear
(
&
src
,
&
head
,
true
,
false
,
false
,
true
,
true
,
false
,
false
)
;
}
)
;
}
видимо в новом стандарте требуется явное определение возвращаемого типа для лямбда-выражений. странно.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|