【发布时间】:2013-01-15 12:29:37
【问题描述】:
我正在使用目标 C++ 在 xcode 中编写我的第一个 SDL 游戏。 该程序在我的计算机上运行良好,但我试图在应用程序中包含该框架,以便它可以在其他 Mac 上播放而无需安装它。
我已将框架设置为复制,然后在应用程序构建阶段链接到二进制文件。
每次我在另一台 Mac 上运行应用程序时都会收到以下错误消息:
流程:迷宫 [2911]
路径:/Users/USER/Desktop/Maze.app/Contents/MacOS/Maze
标识符:LKW.Maze
版本:1 (1) 代码类型:X86-64(本机)
父进程:launchd [2811]
日期/时间:2013-01-14 12:50:54.126 +1100
操作系统版本:Mac OS X 10.7.5 (11G63b)
报告版本:9
自上次报告以来的间隔:60055 秒
自上次报告以来的崩溃次数:11
自上次报告以来的每个应用程序崩溃:6
匿名 UUID:9FDDFA61-468F-4EE5-B922-EE167A9E7DF7
崩溃的线程:0
异常类型:EXC_BREAKPOINT (SIGTRAP)
异常代码:0x0000000000000002、0x0000000000000000
应用特定信息:
dyld:启动,加载依赖库
Dyld 错误消息:
未加载库:@rpath/SDL.framework/Versions/A/SDL
引用自:/Users/USER/Desktop/Maze.app/Contents/MacOS/Maze
原因:图片未找到
二进制图像:
0x10ed3c000 - 0x10ed41fff +LKW.Maze (1 - 1) 5364749AEDEB> /Users/USER/Desktop/Maze.app/Contents/MacOS/Maze
0x7fff6e93c000 - 0x7fff6e970baf dyld (195.6 - ???) /usr/lib/dyld
0x7fff8ba34000 - 0x7fff8bd4dfff com.apple.Foundation (6.7.2 - 833.25)
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
0x7fff94742000 - 0x7fff94742fff com.apple.Cocoa (6.6 - ???) /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa型号:MacBook7,1,BootROM MB71.0039.B0E,2 个处理器,Intel Core 2 Duo,2.4 GHz,2 GB,SMC 1.60f5
显卡:NVIDIA GeForce 320M、NVIDIA GeForce 320M、PCI、256 MB
内存模块:BANK 0/DIMM0, 1 GB, DDR3, 1067 MHz, 0x80CE, 0x4D34373142323837334648532D4346382020
内存模块:BANK 1/DIMM0, 1 GB, DDR3, 1067 MHz, 0x80CE, 0x4D34373142323837334648532D4346382020
AirPort:spairport_wireless_card_type_airport_extreme (0x14E4, 0x93), Broadcom BCM43xx 1.0 (5.106.198.19.22)
蓝牙:版本 4.0.8f17,2 个服务,18 个设备,1 个传入串口
网络服务:AirPort、AirPort、en1
串行 ATA 设备:日立 HTS545025B9SA02,250.06 GB
串行 ATA 设备:HL-DT-ST DVDRW GS23N
USB 设备:内置 iSight、apple_vendor_id、0x8507、0x24600000 / 2
USB 设备:BRCM2070 集线器、0x0a5c (Broadcom Corp.)、0x4500、0x06600000 / 3
USB 设备:蓝牙 USB 主机控制器、apple_vendor_id、0x8218、0x06630000 / 5
USB 设备:Apple 内部键盘/触控板、apple_vendor_id、0x0236、0x06300000 / 2
编辑:
SDL 框架位于应用程序包中的 Contents > Frameworks 中。
我已经尝试过亚当的解决方法。
我已将 @executable_path/contents/framworks 包含在框架搜索路径中。
我都试过了
#include "SDL/SDL.h"
and
#include <SDL/SDL.h>
【问题讨论】:
-
看起来像是运行时崩溃。在调试器中运行您的程序,它会告诉您在哪里程序崩溃了,让您查看并遍历函数调用堆栈,以便了解您是如何结束崩溃的,还可以让您检查变量以帮助您了解为什么它崩溃了。
标签: xcode macos sdl objective-c++