【问题标题】:Using Steamworks in Unreal Engine 4在虚幻引擎 4 中使用 Steamworks
【发布时间】:2017-02-23 19:42:41
【问题描述】:

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

    }
}

【问题讨论】:

  • 我想您没有在某些 Steamworks 库中进行链接。你能至少告诉我们它缺少什么符号吗?
  • 不幸的是,我无法使用项目 ATM,但我明天可以使用。我确定有 Steam_api.h 链接,但从未见过提到任何其他需要:/
  • 仅包含标题是不够的。您需要链接一些
  • 好的,那么有一些我以前从未做过的事情。你能解释一下我该怎么做吗?
  • 如果你用的是VS,就是“项目设置”->“链接器”->“附加库”之类的。

标签: c++ visual-c++ unreal-engine4 unreal-blueprint steamworks-api


【解决方案1】:

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

【讨论】:

  • 这没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方发表评论 - 您可以随时对自己的帖子发表评论,一旦您拥有足够的声誉,您就可以对任何帖子发表评论。
  • 我无法在作者下留下帖子。抱歉给您带来不便,我只是想分享我在问题上的进展,因为我有同样的问题。
  • 欢迎提出新问题。您面临的问题与原帖中提出的问题不同。
猜你喜欢
  • 2015-01-13
  • 2020-07-24
  • 2015-02-04
  • 1970-01-01
  • 2015-10-12
  • 2015-07-03
  • 2019-12-09
  • 2020-03-26
  • 2023-03-28
相关资源
最近更新 更多