c++ - Xcode SDL 资源文件夹

标签 c++ xcode macos sdl sdl-image

我正在 Xcode 中创建一个 SDL 项目,我有一个名为 resources 的文件夹,其中存储了我的图像。为了让我的 SDL 应用程序使用 SDL_LoadBMP 访问这些图像,资源文件夹需要与可执行文件位于同一文件夹中。我不想每次要运行应用程序时都必须将我的资源复制并粘贴到“/Users/admin/Library/Developer/Xcode/DerivedData/SDL_app-awvygturnguyeqgwpjowmouadbjf/Build/Products/Debug”文件夹中(我不知道为什么所有随机字符都在文件夹链接中)。我一直在关注 Lazy Foo 的第一个 SDL 教程:http://lazyfoo.net/SDL_tutorials/lesson01/index2.php我正在尝试在屏幕上显示图像。我不需要在这里显示我的代码,因为它与我链接到的教程完全相同,除了不是 SDL_LoadBMP("hello.bmp") 它是 SDL_LoadBMP("resources/images/hello.bmp")。只要我将资源文件夹复制到产品目录中,该应用程序就会运行。我打算显示文件夹的图像等等,但我没有足够的“声誉”。

最佳答案

为了确保文件夹被复制,您需要将该文件夹添加到您的 Xcode 项目,然后在您的构建阶段中创建一个复制步骤。默认情况下,系统识别为资源的项目(.strings 文件、.xib 文件等)有一个复制阶段。但是,对于其他文件,您需要专门创建一个复制阶段。

为此:

  1. 在 Xcode 中,选择您的项目和 Target,然后选择 Build Phases 选项卡
  2. 点击 Add Build Phase 按钮并选择 Add Copy Files
  3. 为拷贝选择Destination 位置(这是层次结构的“顶层”,您还可以使用Subpath 字段指定子目录)
  4. 现在将文件夹或文件从项目导航器拖到新的复制阶段

当您构建可执行文件时,文件将按照您的指示进行复制。

如果您的 SDL 文件在 Xcode 之外被修改,您可能希望将文件夹导入为文件夹引用而不是单个文件。这可能有点棘手,但它会导致 Xcode 复制文件夹的当前内容,而不是只复制您添加到项目中的项目。否则,只需将 SDL 文件直接导入 Xcode 项目并单独管理它们。

关于c++ - Xcode SDL 资源文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16587974/

相关文章:

c++ - 以 std::pair 作为参数的构造函数: T a({1,2}) 有效,T a = {1,2} 无效

javascript - Aptana Studio 3 MAC 操作系统在滚动 JavaScript 文件时间歇性卡住

xcode - 从 xcode 运行脚本构建阶段找出 ld 命令参数

Java - UserInput.* 在我的 Mac 上不起作用

适用于 Mac OSX 的 SVN 服务器

c++ - 向 MFC DLL 添加自动化支持

C++模板类的函数

c++ - noexcept 会 boost 性能吗?

ios - 访问文件夹引用添加的 Swift 变量

swift - iOS 11 LargeTitles中单行标题转换为多行标题时如何去除跳转效果