相关疑难解决方法(0)

Xcode for iPhone中静态和动态库的区别

XCode中的静态库和动态库有什么区别?为什么Apple不允许我们在iOS应用程序中使用动态库?

iphone xcode static-libraries dynamic-library ios

18
推荐指数
2
解决办法
6980
查看次数

在MacOS上创建一个dylib文件,用于Steamworks API的Python包装器

我是一个业余爱好者程序员,试图将SteamworksForPython API集成到基于Python的游戏中.此API是Steamworks API的Python包装器,它仅正式支持C++.我正在研究MacOS Sierra 10.12.6.

盲目地遵循文档,我做了以下事情:

  1. 我已经下载了SteamworksForPython回购.
  2. 我已将Steamworks SDK(/ sdk/public/steam)中的steam头目录添加到该repo.
  3. 我已经在该repo中添加了适用于我的操作系统的Steam API文件(在我的例子中,来自/ sdk/redistributable_bin/osx32的libsteam_api.dylib).

文档中列出的下一步是创建一个新的dylib文件.不幸的是,尚未针对MacOS描述执行此操作的步骤.

看看Linux和Windows的过程,似乎我需要使用repo的SteamworksPy.cpp文件和Steamworks SDK中的steam_api.h头文件来创建这个动态库文件.

我已经研究过如何使用Xcode创建一个dylib文件,目前我正在尝试这样做.该过程看起来类似于使用Visual Studio的Windows 文档所描述的过程.

我做了以下事情:

  1. 我创建了一个类型为普通C++动态库的新Xcode项目.
  2. 我已将SteamworksPy.cpp添加到Compile Sources列表中.
  3. 我已将steam_api.h添加到Headers列表中(在公共列表下,而不是私有或项目中).
  4. 我已将libsteam_api.dylib添加到Link Binary With Libraries部分.

但是,当我尝试构建时,我收到了一个错误.这是一个截图:

在此输入图像描述

以下是链接器错误的更明确的屏幕截图:

在此输入图像描述

看完这个,这个和这个,我觉得问题是,Xcode的不知道去哪里找我试图链接到库,所以我需要告诉它在哪里看.这应该很简单,但我无法做到.

谁能给我建议如何继续?


类似的问题很有帮助,但没有让我找到解决方案:

c++ python xcode dylib steamworks-api

10
推荐指数
1
解决办法
289
查看次数