代码之家  ›  专栏  ›  技术社区  ›  Leg10n

更新库会给我在Xcode中找不到的符号

  •  1
  • Leg10n  · 技术社区  · 15 年前

    我有这个mobclix库,我有一个旧版本,但我想更新它,我删除了旧的.a文件和头文件,并添加了新的,但我收到错误消息说:

    "_OBJ_CLASS_$_MobclixAdViewiPhone_320x50", referenced from:
    Objc-class-ref-to-MobclixAdViewiPhone_320x50 in AdManager.o
    Symbol(s) not found
    Collect2: ld returned 1 exit status
    

    我已经在目标“链接库”中有了lib,执行了一个干净的、重新启动的xcode,但仍然收到相同的错误消息。

    这是过去发生的,我没有找到任何答案,我不得不做一个新的项目,但我认为这是浪费时间。 请帮忙。

    2 回复  |  直到 15 年前
        1
  •  1
  •   hooleyhoop    15 年前

    找不到mobclixadview iPhone_320x50,因此您没有正确链接mobclix。爱上Xcode:在目标的“链接二进制与库”部分中包含库并不意味着库将被链接。你必须确保你的目标 生成设置>库搜索路径 包含指向库的正确路径。

        2
  •  0
  •   d11wtq Vadim Baryshev    15 年前

    从xcode项目中完全删除库,然后重新添加它,同时将它重新添加到链接阶段。听起来xcode一直试图链接到一个不再存在的库。

    失败了:

    1. 添加新的生成阶段:右键单击目标,添加->新建生成阶段->新建复制文件生成阶段。
    2. 将目的地设置为“产品目录”。
    3. 将库拖到这个构建阶段,然后;
    4. (重要!)拖动新构建阶段的位置,以便在编译阶段之前对其进行排序。

    如果库实际上没有安装在系统路径中,则需要这样做。有其他方法可以达到同样的效果,但这一个很好,而且是便携式的。