【问题标题】:ld: framework not found (homemade framework)ld:找不到框架(自制框架)
【发布时间】:2012-10-31 09:31:43
【问题描述】:

我正在尝试在 Ipad 上部署一个项目,其中包含一个名为“HelloUnity.framework”的自制框架。

当我尝试部署我的项目时,我收到以下错误:

ld: framework not found HelloUnity clang: error: linker command failed
with exit code 1 (use -v to see invocation)

更具体:

Ld /Users/LabInnovation/Library/Developer/Xcode/DerivedData/Unity-iPhone-akzhbmwtkcooizfaebdhmbyuhrbk/Build/Products/test.app/test normal armv7
    cd /Users/LabInnovation/IpadWii/IpadWii
    setenv IPHONEOS_DEPLOYMENT_TARGET 2.2.1
    setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk -L/Users/LabInnovation/Library/Developer/Xcode/DerivedData/Unity-iPhone-akzhbmwtkcooizfaebdhmbyuhrbk/Build/Products -L/Users/LabInnovation/IpadWii/IpadWii -L/Users/LabInnovation/IpadWii/IpadWii/Libraries -F/Users/LabInnovation/Library/Developer/Xcode/DerivedData/Unity-iPhone-akzhbmwtkcooizfaebdhmbyuhrbk/Build/Products -F/Users/LabInnovation/IpadWii/IpadWii/../../Desktop -F/Users/LabInnovation/IpadWii/IpadWii -filelist /Users/LabInnovation/Library/Developer/Xcode/DerivedData/Unity-iPhone-akzhbmwtkcooizfaebdhmbyuhrbk/Build/Intermediates/Unity-iPhone.build/Debug-iphoneos/Unity-iPhone.build/Objects-normal/armv7/test.LinkFileList -dead_strip -all_load -weak_framework CoreMotion -weak-lSystem -fobjc-link-runtime -miphoneos-version-min=2.2.1 -framework Foundation -framework UIKit -framework OpenGLES -framework QuartzCore -framework OpenAL -liconv.2 -liPhone-lib -framework AudioToolbox -framework CFNetwork -framework MediaPlayer -framework CoreLocation -framework SystemConfiguration -weak_framework iAd -framework CoreMedia -framework CoreVideo -framework HelloUnity -weak_framework AVFoundation -framework CoreGraphics -weak_framework CoreMotion -weak_framework GameKit -o /Users/LabInnovation/Library/Developer/Xcode/DerivedData/Unity-iPhone-akzhbmwtkcooizfaebdhmbyuhrbk/Build/Products/test.app/test

而且我不知道为什么,因为我的框架存在并且框架的文件夹不是空的。 怎么了?

谢谢,

【问题讨论】:

    标签: ios xcode frameworks


    【解决方案1】:

    由于 iOS 不支持共享库,因此您需要确保您的框架正在编译为静态库。

    我不确定这部分,但您可能必须链接静态库而不是框架(即,即使您的框架是静态的,“-framework HelloUnity”也可能不好。)

    【讨论】:

      【解决方案2】:

      我确信框架没有正确构建。我怀疑在构建框架时没有从项目文件中删除 VALID_ARCHS。还要检查 build active architectures 是否设置为 NO

      【讨论】:

      • 您有关于删除 VALID_ARCHS 的更多信息吗?为什么需要这样做?
      • @Martin308 我不太确定,因为我很久以前就做过了,但我认为它提到了使用该框架的有效架构是什么。由于使用框架(通常用于桌面环境)是一种解决方法,因此框架构建将包含元数据,说明“框架必须用于桌面应用程序”,我们必须修改这一行,以便我们可以在移动应用程序中使用它。
      猜你喜欢
      • 2016-01-13
      • 1970-01-01
      • 2016-02-09
      • 2019-04-06
      • 2017-08-16
      • 2017-01-17
      • 2019-02-16
      • 2015-07-04
      • 2018-07-02
      相关资源
      最近更新 更多