0

所以我开始为我的游戏实现 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;
    }
}

还尝试使用 OnlineSubsystem 像这样进入 Steam:

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");
        }

    }
}
4

1 回答 1

0

所以,我在我的源代码中包含了库“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 下载的,没有经过修改。

于 2017-02-24T11:18:30.663 回答