在MacOS上创建dylib文件以供Python Steamworks API包装器使用

11
我是一名业余程序员,试图将SteamworksForPython API集成到基于Python的游戏中。该API是Steamworks API的Python封装,官方只支持C ++。我正在使用MacOS Sierra 10.12.6进行工作。
盲目地遵循文档,我已完成以下操作:
  1. 我已下载了SteamworksForPython repo。
  2. 我已将Steamworks SDK (/sdk/public/steam)的steam头文件目录添加到该repo中。
  3. 我已将适用于我的操作系统的Steam API文件(在我的情况下,来自/sdk/redistributable_bin/osx32的libsteam_api.dylib)添加到该repo中。
文档中列出的下一步是创建新的dylib文件。不幸的是,尚未为MacOS描述如何执行此操作。
查看Linux和Windows的过程,似乎我需要使用repo的SteamworksPy.cpp文件和Steamworks SDK中的steam_api.h头文件来创建此动态库文件。
我已经研究了如何使用Xcode创建dylib文件,并正在尝试执行此操作。该过程类似于使用Visual Studio的文档中描述的Windows。
我已完成以下操作:
  1. 我创建了一个新的Xcode项目,类型为纯C++动态库。
  2. 我将SteamworksPy.cpp添加到编译源列表中。
  3. 我将steam_api.h添加到头文件列表中(在public下,不是private或project)。
  4. 我将libsteam_api.dylib添加到链接二进制库部分。

但是,在尝试构建时,我遇到了一个错误。以下是一张截图:

enter image description here

这里是连接器错误的更明确的截图:

enter image description here

阅读完这个, 这个这个之后,我认为问题在于Xcode不知道我试图链接的库在哪里,所以我需要告诉它在哪里查找。这应该很简单,但我无法做到。 有人可以给我建议吗?

以下类似的问题对我有帮助,但没有给我带来解决方案:

1个回答

4
我成功解决了这个问题。
Xcode无法找到我尝试链接的库的位置。
我注意到在“Build Settings”下,我可以指定“路径到链接映射文件”。我试着将指向libsteam_api.dylib所在位置的路径硬编码进去,但是我得到了上述相同的错误。
然后我做了一些有效的事情。
我在“Link Binary With Libraries”部分中删除了对库的引用。
然后我将库从其原始位置移动到我的Xcode项目目录中。
接着我使用“Link Binary With Libraries”部分中的文件选择面板从Xcode目录重新选择库。
当我构建时,一切都正常运转。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接