2

I'm using echoprint API for song search from last 3 months. But suddenly it started giving me below errors. Already I have face many problems while adding that API to my project & now it start giving me linker error. It was working for me previously. Error like this:

"Codegen::Codegen(float const*, unsigned int, int)", referenced from: _GetPCMFromFile in File.o

clang: error: linker command failed with exit code 1 (use -v to see invocation)

ld: symbol(s) not found for architecture i386

ld: warning: directory not found for option '-L-L/Users/prajaktakulkarni/Downloads/echoprint-codegen-4.12 2/src/echoprint-codegen-ios/build/Release-iphoneos' ld: warning: ignoring file /Users/prajaktakulkarni/Documents/Instajam/libechoprint-codegen-ios.a, missing required architecture i386 in file /Users/prajaktakulkarni/Documents/Instajam/libechoprint-codegen-ios.a (2 slices) Undefined symbols for architecture i386: "Codegen::Codegen(float const*, unsigned int, int)", referenced from: _GetPCMFromFile in File.o ld: symbol(s) not found for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation)

Daniel Cukier
  • 11,502
  • 15
  • 68
  • 123
Hrishikesh Pol
  • 87
  • 1
  • 10

2 Answers2

2

The error message is saying that the static library libechoprint-codegen-ios.a hasn't been built for the i386 architecture - which is the architecture used by the simulator.

You can find out which architectures the static library has been built for by running the following code in Terminal:

lipo -info ~/Documents/Instajam/libechoprint-codegen-ios.a

It will likely tell you it is built for armv7 and armv7s. That will support all but the oldest iOS devices at the time of writing.

You could build libechoprint-codegen-ios.a to run on a simulator. Here's a good stackoverflow post if you are interested in doing that: Build fat static library (device + simulator) using Xcode and SDK 4+

The easiest option would be to just plug your phone in and not worry about building a fat static library. :D

Community
  • 1
  • 1
James Zaghini
  • 3,895
  • 4
  • 45
  • 61
  • After struggling with the static library, I ended up paying the 99$ to Apple to run on my iPod Touch, now when I try to run it I get `The identity 'iPhone Developer: Brian Whitman (XXXXXXXXX)' doesn't match any valid, non-expired certificate/private key pair in your keychains`. This Brian guy is the Co-Founder of ECHOnest or something similar.... anything I might be doing wrong? – Aviel Gross Jul 10 '13 at 12:30
  • 1
    @AvielGross you should follow the steps here: http://developer.apple.com/library/ios/#documentation/ToolsLanguages/Conceptual/YourFirstAppStoreSubmission/ProvisionYourDevicesforDevelopment/ProvisionYourDevicesforDevelopment.html – James Zaghini Jul 10 '13 at 12:44
  • thanks it helped, now i'm stuck with some other error when tryin to build: `CodeSign error: The entitlements file '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Entitlements.plist' is missing` and after that: `Command /bin/sh failed with exit code 65`. Any ideas? – Aviel Gross Jul 11 '13 at 05:50
0

Recently the problem was fixed for me by using libz.1.1.3.tbd instead libz.tbd and of course this link is useful Echoprint iOS Missing Framework

magorik
  • 47
  • 4