xcode - 体系结构i386的 undefined symbol : “__products” , referenced from:

标签 xcode linker compiler-errors

在尝试运行项目时,我会遇到以下错误,我可以使用一些帮助。

我的项目已经通过应用内购买发布。
在最新版本中,我尝试将IAP合并到另一个 View Controller 中,但是当我要运行时,也会遇到两个Apple Mach-O Linker Error和一个Dsymutil Error。

自上次发布以来,我可能已经将Xcode(更新为4.6(4H127)版),但是我不确定。

我已经检查过的一些东西:

  • 用Binaries链接Binary和Binaries似乎仍然包括所有必要的框架;
  • 编译源似乎包含我所有的.m文件;
  • 我在代码中的任何地方都找不到__products(_products我可以找到thoug ...:我用该名称创建了一个全局变量(之前是局部变量))
  • 我尝试在模拟器和设备上运行。

  • 全局变量在.h文件中声明,该文件在需要它的 View Controller 中导入:
    extern NSArray * _products;

    我不确定我的外部框架/库是否会造成任何麻烦。他们之前工作得很好:TestFlight,Appirater,CHCSVParser。

    错误:

    Ld "/Users/jaspervandermaarel/Library/Developer/Xcode/DerivedData/Mijn_Kinderen-dglsdifvjduysjbpixoiuyaekgky/Build/Products/Debug-iphonesimulator/Mijn Kinderen.app/Mijn Kinderen" normal i386 cd "/Users/jaspervandermaarel/Documents/Xcode projects/Mijn Kinderen" setenv IPHONEOS_DEPLOYMENT_TARGET 5.0 setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.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 i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk -L/Users/jaspervandermaarel/Library/Developer/Xcode/DerivedData/Mijn_Kinderen-dglsdifvjduysjbpixoiuyaekgky/Build/Products/Debug-iphonesimulator "-L/Users/jaspervandermaarel/Documents/Xcode projects/Mijn Kinderen/TestFlightSDK1-1" "-L/Users/jaspervandermaarel/Documents/Xcode projects/Mijn Kinderen" -F/Users/jaspervandermaarel/Library/Developer/Xcode/DerivedData/Mijn_Kinderen-dglsdifvjduysjbpixoiuyaekgky/Build/Products/Debug-iphonesimulator -filelist "/Users/jaspervandermaarel/Library/Developer/Xcode/DerivedData/Mijn_Kinderen-dglsdifvjduysjbpixoiuyaekgky/Build/Intermediates/Mijn Kinderen.build/Debug-iphonesimulator/Mijn Kinderen.build/Objects-normal/i386/Mijn Kinderen.LinkFileList" -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=5.0 -weak_framework Accounts -weak_framework Social -framework SystemConfiguration -framework CFNetwork -framework StoreKit -framework MessageUI -lz -framework UIKit -framework Foundation -framework CoreGraphics -framework CoreData -lTestFlight -o "/Users/jaspervandermaarel/Library/Developer/Xcode/DerivedData/Mijn_Kinderen-dglsdifvjduysjbpixoiuyaekgky/Build/Products/Debug-iphonesimulator/Mijn Kinderen.app/Mijn Kinderen"



    体系结构i386的 undefined symbol :“__ products”,引用自:
    -MKGebeurtenissenViewController.o中的[MKGebeurtenissenViewController voegToeGebeurtenis:]
    -MKGebeurtenissenViewController.o中的[MKGebeurtenissenViewController alertView:clickedButtonAtIndex:]
    -MKKinderenViewController.o中的[MKKinderenViewController alertView:clickedButtonAtIndex:]
    -MKKinderenViewController.o中的[MKKinderenViewController产品购买:]
    -MKKinderenViewController.o中的[MKKinderenViewController voegKindToe:]
    -MKGebeurtenissenViewController.o中的[MKGebeurtenissenViewController voegToeGebeurtenis:]
    -MKGebeurtenissenViewController.o中的[MKGebeurtenissenViewController alertView:clickedButtonAtIndex:]
    -MKKinderenViewController.o中的[MKKinderenViewController alertView:clickedButtonAtIndex:]
    -MKKinderenViewController.o中的[MKKinderenViewController产品购买:]
    -MKKinderenViewController.o中的[MKKinderenViewController voegKindToe:]
    ld:找不到体系结构i386的符号
    铛:错误:链接器命令失败,退出代码为1(使用-v查看调用)

    GenerateDSYMFile“/Users/jaspervandermaarelel/Library/Developer/Xcode/DerivedData/Mijn_Kinderen-dglsdifvjduysjbpixoiuyaekgky/Build/Products/Debug-iphonesimulator/Mijn Kinderen.app.dSYM”“/Users/Data/Develops/DeskedData/M/dglsdifvjduysjbpixoiuyaekgky/构建/产品/Debug-iphonesimulator/Mijn Kinderen.app/Mijn Kinderen”
    cd“/用户/jaspervandermaarelel/文档/Xcode项目/Mijn Kinderen”
    setenv PATH“/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.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/dsymutil“/Users/jaspervandermaarelel/Library/Developer/Xcode/DerivedData/Mijn_Kinderen-dglsdifvjduysjbpixoiuyaekgky/Build/phones/ulator .app/Mijn Kinderen“-o”/用户/Jaspervandermaarelel/库/Developer/Xcode/DerivedData/Mijn_Kinderen-dglsdifvjduysjbpixoiuyaekgky/Build/Products/Debug-iphonesimulator/Mijn Kinderen.app.dSYM“

    错误:无法打开可执行文件'/Users/jaspervandermaarelel/Library/Developer/Xcode/DerivedData/Mijn_Kinderen-dglsdifvjduysjbpixoiuyaekgky/Build/Products/Debug-iphonesimulator/Mijn Kinderen.app/Mijn Kinderen'

    最佳答案

    并不是说“extern”很糟糕,您只需要在某个地方的.m文件顶部声明实际的NSArray”,否则该对象实际上并没有分配到任何地方。

    因此,如果在.h文件中声明“extern”变量,请在支持该.h文件的.m文件顶部声明实际变量。

    例如。

    NSArray * _products;
    

    在“@implementation”位之前。并确保在.m文件中的某个位置进行该变量的分配和初始化。

    关于xcode - 体系结构i386的 undefined symbol : “__products” , referenced from:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15797315/

    相关文章:

    visual-studio - 如何在 Visual Studio 的构建输出中显示链接器命令行?

    c++ - 模板化函数时链接器错误未找到析构函数

    c - 当N是C的输入并且也由输入函数定义时,如何在C中定义变量 “N”类型(N将提示用户输入)

    java - 类型/表达式非法开始(括号放置帮助?)

    ios - 将 iOS 应用程序上传到 iTunes Connect 时出现问题 : "Symbol tools failed"

    iphone - 在 imageView.tag 中存储 25 位数字字符串

    ios - iOS SKMaps架构错误

    ios - 将 Split View带入现有的标签栏应用程序?

    c - 带有函数名称的 extern 关键字

    c++ - 令人困惑的编译器错误