【发布时间】:2009-07-07 22:11:17
【问题描述】:
我有一个严重依赖 OpenCV 库的 iPhone 应用程序;因此,我编译了该库的静态版本以包含在我的应用程序中。执行此操作的说明相对简单:Using OpenCV on iPhone。我遇到的唯一问题是将链接器标志 STANDARD_C_PLUS_PLUS_LIBRARY_TYPE 设置为“standard”。该应用程序在 OS 2.0 和 2.2 下编译并完美运行。
升级到 SDK 3.0 并尝试重新编译我的应用程序后,我遇到了这个链接器标志的问题。链接时出现此错误:
ld:找不到 -lstdc++-static 的库
有趣的是,在我的系统上,除了 iPhoneOS.platform/SDKs/iPhoneOS3.0.sk 之外,似乎每个 iPhoneOS 和 iPhoneSimulator SDK 下都存在“libstdc++-static”。以下是搜索结果:
$ locate libstdc++-static
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/usr/lib/libstdc++-static.a
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.1.sdk/usr/lib/libstdc++-static.a
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.2.1.sdk/usr/lib/libstdc++-static.a
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.2.sdk/usr/lib/libstdc++-static.a
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator2.0.sdk/usr/lib/libstdc++-static.a
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator2.1.sdk/usr/lib/libstdc++-static.a
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator2.2.1.sdk/usr/lib/libstdc++-static.a
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator2.2.sdk/usr/lib/libstdc++-static.a
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/usr/lib/libstdc++-static.a
/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libstdc++-static.a
/Developer/SDKs/MacOSX10.5.sdk/usr/lib/libstdc++-static.a
/usr/lib/libstdc++-static.a
我很困惑,无法在 Google 或 iPhone 开发者论坛上找到任何答案。如果有人能在这里阐明一下,我将不胜感激。
谢谢!
【问题讨论】:
-
OS 3.x 中的 libstdc++ 是什么版本?
标签: iphone cocoa-touch xcode