构建iOS设备时出现NMSSH链接器错误

时间:2013-07-11 05:57:50

标签: ios objective-c xcode linker-errors

我在我的应用中使用NMSSH,我遇到了一些问题。我遵循了GitHub页面中编写的安装程序,它在iOS6.1模拟器上运行良好。但是,当我将其构建到运行iOS5.1的iPod touch设备上时,我收到以下错误:

Undefined symbols for architecture armv7:
  "_inflate", referenced from:
      _comp_method_zlib_decomp in NMSSH(comp.o)
  "_deflate", referenced from:
      _comp_method_zlib_comp in NMSSH(comp.o)
  "_inflateEnd", referenced from:
      _comp_method_zlib_dtor in NMSSH(comp.o)
  "_deflateInit_", referenced from:
      _comp_method_zlib_init in NMSSH(comp.o)
  "_deflateEnd", referenced from:
      _comp_method_zlib_dtor in NMSSH(comp.o)
  "_inflateInit_", referenced from:
      _comp_method_zlib_init in NMSSH(comp.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

来自另一个SO线程的建议说包含另一个libz,所以我包含了libz.1.2.5.dylib并且它运行时没有任何错误。但是,每当我尝试从实际设备上运行的应用程序发送SSH命令时,它都会崩溃而没有任何痕迹。在iOS6.1模拟器中这样做会导致没有问题。

任何帮助将不胜感激! 〜Carpetfizz

编辑:应用程序也适用于iOS5.1模拟器!

2 个答案:

答案 0 :(得分:0)

您需要重建目标设备的框架,并将.framework文件重新添加到Xcode项目中。像这样 enter image description here

然后清理并构建。将.framework文件添加到应用程序项目框架,首先删除旧的.framework文件。希望这可以帮助!祝你好运!

答案 1 :(得分:0)

添加 lib.dylib 。 同时添加 CFNetworking 。 就这么简单。 然后它应该工作。 希望这有帮助。