Итак, я начал реализовывать функции Steamworks для своей игры, и все прошло отлично. Мне удалось получить синхронизацию с Steam API (я могу делать достижения и видеть, что я играю в игру на моем Steam Acc). Однако, когда я хотел начать использовать некоторые функции, которые они предоставили, мой движок сказал:
error LNK2019: unresolved external symbol
Кто-нибудь может помочь мне решить эту проблему? Я стремлюсь к чтению и сохранению результатов в таблицах лидеров. Какие-нибудь хорошие советы для меня? : D
Пример кода, который дает мне ошибку:
int MyCodeLibrary::TryGetScore()
{
if (SteamAPI_Init())
{
CSteamLeaderboards obj();
obj().FindLeaderboard("test");
obj().DownloadScores();
return 0;
}
else
{
return 0;
}
}
Также пытался попасть в Steam с помощью OnlineSubsystem так:
void MyCodeLibrary::UpdateScoreInt(int score, FName board, APlayerController* PlayerController)
{
OutputDebugStringA("Funkcja jest wywoływana");
if (SteamAPI_Init())
{
OutputDebugStringA("Steam API działa");
ULocalPlayer* LocalPlayer = Cast<ULocalPlayer>(PlayerController->Player);
IOnlineSubsystem* ion = IOnlineSubsystem::Get(FName("Steam"));
TSharedPtr<const FUniqueNetId> UserId = ion->GetIdentityInterface()->GetUniquePlayerId(LocalPlayer->GetControllerId());
ion->GetLeaderboardsInterface();
FOnlineLeaderboardWrite wrt;
wrt.LeaderboardNames.Add(board);
wrt.SetIntStat(TEXT("Score"), score);
if (UserId.IsValid())
{
OutputDebugStringA("Mam UserID");
ion->GetLeaderboardsInterface()->WriteLeaderboards(board, *UserId, wrt);
printf("Odpalony score");
}
}
}
Итак, я включил библиотеку «steam_api64.lib» в мой источник, но после этого я получил много ошибок, которые указывают на то, что все в steam_api.h неверны: /
Я довольно новичок в этом, поэтому буду признателен за помощь. Вот примеры ошибок, показывающих:
error C2371: "S_CALLTYPE": redefinition; different basic types
error C4430: missing type specifier-int assumed. Note C++ does not support default-int
Я включил что-то не так или что-то упустил? Файл Steam_api.h загружается непосредственно с steamworks и не был изменен.
Других решений пока нет …