【发布时间】:2009-08-21 19:31:15
【问题描述】:
以下代码在 Xcode 创建的模板项目中崩溃。
int main(int argc, char *argv[])
{
uint64_t t64 = 100000;
double s = (double)t64; // Crash!
...
崩溃伴随着以下控制台输出,发生在 2.2.1 设备上,但不在 3.0.1 设备上。它在为 Thumb 或 ARM 编译时都会发生。
dyld: lazy symbol binding failed: Symbol not found: ___floatundidf
Referenced from: /var/mobile/Applications/15E9DC65-324D-4C3A-8477-DC8CFFA67DC1/MyApp.app/MyApp
Expected in: /usr/lib/libgcc_s.1.dylib
dyld: Symbol not found: ___floatundidf
Referenced from: /var/mobile/Applications/15E9DC65-324D-4C3A-8477-DC8CFFA67DC1/MyApp.app/MyApp
Expected in: /usr/lib/libgcc_s.1.dylib
这个问题只出现在 3.0 的 Base SDK 上,编译为 2.2.1 就可以了。不幸的是,我有 3.0 的增强功能。
【问题讨论】:
标签: iphone xcode iphone-sdk-3.0 linker uint64