添加.a文件后,架构armv7的未定义符号

时间:2013-03-28 13:07:24

标签: iphone ios xcode

我正在尝试使用从某个供应商处收到的* .a,* .h文件构建一个小应用程序。 这是我第一次将外部文件添加到项目中。

我添加了文件,但我收到了这些错误。

  

架构armv7的未定义符号:

     

“_ vDSP_fft_zropD”,引自:         libmyTrekSDK_armv7.a中的_fft_hr_estimation(hr_calc.o)       “_vDSP_vclrD”,引自:         libmyTrekSDK_armv7.a(hr_calc.o)中的_fft_hr_estimation“_vDSP_vdbconD”,引自:         libmyTrekSDK_armv7.a中的_fft_hr_estimation(hr_calc.o)       “_vDSP_vmulD”,引自:         libmyTrekSDK_armv7.a(hr_calc.o)中的_fft_hr_estimation“_vDSP_hamm_windowD”,引自:         libmyTrekSDK_armv7.a(hr_calc.o)中的_fft_hr_init“_vDSP_zaspecD”,引自:         libmyTrekSDK_armv7.a(hr_calc.o)中的_fft_hr_estimation“_OBJC_CLASS _ $ _ EAAccessoryManager”,引自:         libmyTrekSDK_armv7.a(hrMonitor.o)中的objc-class-ref“_EAAccessoryDidDisconnectNotification”,引自:          - libmyTrekSDK_armv7.a(hrMonitor.o)中的[HRMonitor启动]“_vDSP_create_fftsetupD”,引自:         libmyTrekSDK_armv7.a(hr_calc.o)中的_fft_hr_init“_EAAccessoryDidConnectNotification”,引自:          - libmyTrekSDK_armv7.a中的[HRMonitor启动](hrMonitor.o)“_ OBJC_CLASS _ $ _ EASession”,引自:         libmyTrekSDK_armv7.a(hrMonitor.o)中的objc-class-ref“_vDSP_ctozD”,引自:         libmyTrekSDK_armv7.a(hr_calc.o)中的_fft_hr_estimation“_vDSP_maxmgvD”,引自:         libmyTrekSDK_armv7.a(hr_calc.o)中的_fft_hr_estimation“_vDSP_destroy_fftsetupD”,引自:         libmyTrekSDK_armv7.a中的_fft_hr_free(hr_calc.o)ld:找不到架构armv7 clang的符号:错误:链接器命令失败   退出代码1(使用-v查看调用)

到目前为止,我已经尝试过:(在其他帖子中提到)

  1. 我确保* .a文件包含在 Link Binary With Library 中。
  2. 尝试将C ++语言方言和C ++标准库更改为编译器默认值。
  3. 更多信息:

    1. 文件位于项目文件夹中。
    2. 我使用的是iPhone 4S v.6.1.3,项目的部署目标是iOS 6.1。

2 个答案:

答案 0 :(得分:2)

为了将来我遇到了"_OBJC_CLASS_$_EASession", referenced from:错误。通过将ExternalAccessory.framework添加到Targets > myApp > Build Phases > Link Binary with Libraries

来解决此问题

答案 1 :(得分:1)

  1. 检查框架搜索路径/库搜索路径中的lib路径是否正确
  2. 检查lib源所需的其他链接器标志
  3. Please refer this Answer for more details