Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/144.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在MacOS上创建用于SteamworksAPI的Python包装器的动态库文件_Python_C++_Xcode_Dylib_Steamworks Api - Fatal编程技术网

在MacOS上创建用于SteamworksAPI的Python包装器的动态库文件

在MacOS上创建用于SteamworksAPI的Python包装器的动态库文件,python,c++,xcode,dylib,steamworks-api,Python,C++,Xcode,Dylib,Steamworks Api,我是一个业余程序员,试图将集成到基于Python的游戏中。这个API是一个Python包装器,它只支持C++。我正在研究MacOS Sierra 10.12.6 盲目地遵循文档,我做了以下工作: 我已经下载了SteamworksForPython repo 我已经将steam头目录从SteamWorksSDK(/SDK/public/steam)添加到该repo中 我已经向该repo添加了适合我的操作系统的Steam API文件(在我的例子中,是/sdk/redistributable_bin/

我是一个业余程序员,试图将集成到基于Python的游戏中。这个API是一个Python包装器,它只支持C++。我正在研究MacOS Sierra 10.12.6

盲目地遵循文档,我做了以下工作:

  • 我已经下载了SteamworksForPython repo
  • 我已经将steam头目录从SteamWorksSDK(/SDK/public/steam)添加到该repo中
  • 我已经向该repo添加了适合我的操作系统的Steam API文件(在我的例子中,是/sdk/redistributable_bin/osx32中的libsteam_API.dylib)
  • 文档中列出的下一步是创建一个新的动态库文件。不幸的是,MacOS还没有描述实现这一点的步骤

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

    我已经研究了如何使用Xcode创建动态库文件,目前正在尝试这样做。该过程似乎与使用VisualStudio的for Windows所描述的过程类似

    我已经做了以下工作:

  • 我创建了一个新的C++类动态库的XCODE项目。
  • 我已将SteamworksPy.cpp添加到编译源代码列表中
  • 我已经将steam_api.h添加到标题列表中(在public下,而不是private或project下)
  • 我已经将libsteam_api.dylib添加到带有库的链接二进制文件部分
  • 然而,当我尝试构建时,我得到了一个错误。以下是一个屏幕截图:

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

    阅读之后,我认为问题在于Xcode不知道在哪里查找我试图链接到的库,所以我需要告诉它在哪里查找。这应该很简单,但我做不到

    有人能给我一些建议吗?


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


      • 我设法解决了这个问题

        Xcode找不到我试图链接到的库的位置

        我注意到,在构建设置下,我可以指定链接映射文件的路径。我试图对我的库(libsteam_api.dylib)所在的路径进行硬编码,但我得到了上述相同的错误

        然后我做了一些有效的事情

        我删除了链接二进制文件与库部分中对库的引用

        然后,我将库从其原始位置移动到我的Xcode项目目录中

        然后,我使用linkbinary With Libraries部分中的文件选择窗格从Xcode目录中重新选择库

        当我建造时,一切都运转良好