我正在 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")。只要我将资源文件夹复制到产品目录中,该应用程序就会运行。我打算展示文件夹的图像等等,但我没有足够的“声誉”。
问问题
2453 次
1 回答
5
为了确保该文件夹被复制,您需要将该文件夹添加到您的 Xcode 项目中,然后在您的 Build Phases 中创建一个 Copy 步骤。默认情况下,系统标识为资源的项目(.strings 文件、.xib 文件等)有一个复制阶段。但是,对于其他文件,您需要专门创建一个复制阶段。
去做这个:
- 在 Xcode 中,选择您的项目和目标,然后选择
Build Phases
选项卡 - 点击
Add Build Phase
按钮并选择Add Copy Files
- 选择复制的位置(这是层次结构的“顶部”,您也可以使用该字段
Destination
指定子目录)Subpath
- 现在将文件夹或文件从项目导航器拖到新的复制阶段
当您构建可执行文件时,文件将在您指示它们时被复制。
如果您的 SDL 文件在 Xcode 之外被修改,您可能希望将该文件夹作为文件夹引用而不是作为单个文件导入。这可能有点棘手,但它会导致 Xcode 复制文件夹的当前内容,而不仅仅是您添加到项目中的项目。否则,只需将 SDL 文件直接导入 Xcode 项目并单独管理它们。
于 2013-05-16T13:48:45.320 回答