在openFrameworks中使用lerping矩形类。然后我尝试将它实例化为一个数组,但它崩溃了错误:
“警告:找不到对象文件”/Users/mike/Projects/simbl/build/SIMBL.build/Deployment/SIMBL.build/Objects-normal/i386/SIMBLPlugin.o“ - 没有可用的调试信息” /Users/mike/Projects/simbl/src/SIMBLPlugin.m”。
发布版本比调试稍微稳定。
当注释掉这两行时(在整个类的数组中连续调用的函数内),它运行正常。
pos.x = catchUpSpeed * mouseX + (1-catchUpSpeed) * pos.x;
pos.y = catchUpSpeed * mouseY + (1-catchUpSpeed) * pos.y;
catchUpSpeed是.03f
有关错误消息的任何想法?这个错误是如何产生的以及如何避免?我无法做出正面或反面。好像数学很简单。
感谢您阅读!
答案 0 :(得分:1)
如果发生这种情况,您不应该看到崩溃,或者说,崩溃不应该由此警告引起/与之相关。
在Mac OS X / iOS上使用调试信息构建应用程序有两种方法:“DWARF”和“DWARF with dSYM”。 (这些是Xcode项目构建设置中的选项)
“DWARF”表示调试信息存在于.o
(对象)文件中。它不会复制到您应用的最终可执行二进制文件中。您的应用二进制文件将指针返回到目标文件中的调试信息。这有助于加快链接和速度。运行周期。但要使其工作,您的目标文件需要与构建应用程序时位于同一位置。将您的应用程序复制到另一台计算机可能会破坏这一点删除构建中间体会导致同样的问题。 “DWARF”调试信息方案专为在本地桌面上进行主动开发而设计,.o
文件将保留在原位,在您调试应用程序时不会被删除。
“带有dSYM的DWARF”表示当您的应用程序二进制文件链接在一起时,运行另一个命令(dsymutil
)以创建所有调试信息的链接版本 - .dSYM
包。这会将您的目标文件中的所有调试信息收集到一个包中,并且它位于您的二进制文件旁边。如果要将二进制文件复制到另一个系统以运行&调试它,带上dSYM,一切都会正常工作。
我不确定你是如何使用构建系统的,因此在调试时这种安排会失败,但如果你在幕后做某事,那么你的SIMBLPlugin.o
目标文件就不会如果您正在调试您的应用程序,请尝试使用dSYM将项目更改为DWARF,您应该没问题。
如果Xcode崩溃,则不太可能与调试器发出的警告消息有关。但是,如果您使用当前(Xcode 4.6等)版本的工具看到这一点,那么值得提交错误报告。 http://bugreport.apple.com/ - 包含来自其中一个实例的崩溃记者文本,这将是他们开始的地方。