Undefined symbols for architecture armv7
This problem has been driving me crazy, and i can't work out how to fix it...
I think it has to do with:
but I have added: libz.1.2.3.dylib and it's not helping, anyone got any ideas? |
||
add a comment
|
Common CausesThe common causes for "Undefined symbols for architecture armv7" are:
Original Answer:You have not linked against the correct libz file. If you right click the file and reveal in finder its path should be somewhere in an iOS sdk folder. Here is mine for example
I recommend removing the reference and then re-adding it back in the Link Binary With Libraries section Build Phases of your target. |
|||||||||||||||||||||
|
I had a similar issue last night and the problem, was related to the fact that I had dragged a class from the Finder to my project in Xcode. The solution was to go the the Build Phases tab and then the Compile Sources and make sure you drag the class to the list. |
|||||||||||||||||||||
|
I had a similar issue and I had to check "Build Active Architecture Only" on each of the Project configurations (Debug, Release and Deployment) and in the Build Settings of the Target. |
|||||||||
|
Another possible cause of "undefined symbol" linker errors is attempting to call a C function from a .mm file. In this case you'll need to use extern "C" {...} when you import the header files. |
|||||
|
I had a similar issue with that. The class name after _OBJC_CLASS_$_ was actually my class. The reason was I didn't tick "Add to Target" when I drag the source code files into navigation list. My solution was:
|
|||||
|
There is usually a alias without the version identifier that is linked to the current version, in this case libz.dylib is linked to libz.1.2.5.dylib. Use the base alias instead of the versioned one. |
|||
Under Target -> Build Settings -> Apple LLVM compiler language: setting 'C++ Language Dialect' and 'C++ Standard Library' to Compiler default helped solve it. |
|||
I ran into this error when working with Google Maps framework. Under the "Build Settings" tab for the project, try changing/toggling "Build Active Architecture Only" from Yes to No after changing framework configurations. This was a small quirky trick that worked for me. |
||||
http://stackoverflow.com/a/10415850/1092219 Check My answer from the above link I have an similar problem that are solved with me by doing some steps that are be written in the above link try it i think you should get benefited.:) |
|||
if you're dealing with the iOS5 upgrade, I found that for compiling a project written to target 4.3, I could just rename libz.1.2.3.dynlib in the Project Navigator to libz.1.2.5.dynlib and it compiled. My iPhoneOS50SDK/usr/lib folder has no libz.1.2.3.dynlib--don't know whether it's a beta thing or just natural upgrade. |
|||