I'm trying to use static library in iOS application. It seems that i've done everything correctly but i'm getting multiple "Undefined symbols for architecture i386" errors (SO question). I've decided to check where necessary methods are implemented (static libraries that contains method code):
#!/bin/bash
for filename in /Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/lib*.a; do
echo " $filename:"
nm "$filename" | grep getMemBufferCopy
done
it was found in few files:
MBA-Anton:StaticLibraryUsage2 asmirnov$ ./find_method
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMAArch64AsmParser.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMAArch64AsmPrinter.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMAArch64CodeGen.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMAArch64Desc.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMAArch64Disassembler.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMAArch64Info.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMAArch64Utils.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMARMAsmParser.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMARMAsmPrinter.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMARMCodeGen.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMARMDesc.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMARMDisassembler.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMARMInfo.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMAnalysis.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMAsmParser.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMAsmPrinter.a:
U __ZN4llvm12MemoryBuffer16getMemBufferCopyENS_9StringRefES1_
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMBitReader.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMBitWriter.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMCodeGen.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMCore.a:
U __ZN4llvm12MemoryBuffer16getMemBufferCopyENS_9StringRefES1_
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMCppBackendCodeGen.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMCppBackendInfo.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMDebugInfo.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMExecutionEngine.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMHexagonAsmPrinter.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMHexagonCodeGen.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMHexagonDesc.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMHexagonInfo.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMIRReader.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMInstCombine.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMInstrumentation.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMInterpreter.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMJIT.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMLTO.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMLinker.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMMC.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMMCDisassembler.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMMCJIT.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMMCParser.a:
U __ZN4llvm12MemoryBuffer16getMemBufferCopyENS_9StringRefES1_
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMMSP430AsmPrinter.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMMSP430CodeGen.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMMSP430Desc.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMMSP430Info.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMMipsAsmParser.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMMipsAsmPrinter.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMMipsCodeGen.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMMipsDesc.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMMipsDisassembler.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMMipsInfo.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMNVPTXAsmPrinter.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMNVPTXCodeGen.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMNVPTXDesc.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMNVPTXInfo.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMObjCARCOpts.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMObject.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMOption.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMPowerPCAsmParser.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMPowerPCAsmPrinter.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMPowerPCCodeGen.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMPowerPCDesc.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMPowerPCInfo.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMR600AsmPrinter.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMR600CodeGen.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMR600Desc.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMR600Info.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMRuntimeDyld.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMScalarOpts.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMSelectionDAG.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMSparcCodeGen.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMSparcDesc.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMSparcInfo.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMSupport.a:
U __ZN4llvm12MemoryBuffer16getMemBufferCopyENS_9StringRefES1_
000000b0 T __ZN4llvm12MemoryBuffer16getMemBufferCopyENS_9StringRefES1_
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMSystemZAsmParser.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMSystemZAsmPrinter.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMSystemZCodeGen.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMSystemZDesc.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMSystemZDisassembler.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMSystemZInfo.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMTableGen.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMTarget.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMTransformUtils.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMVectorize.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMX86AsmParser.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMX86AsmPrinter.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMX86CodeGen.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMX86Desc.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMX86Disassembler.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMX86Info.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMX86Utils.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMXCoreAsmPrinter.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMXCoreCodeGen.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMXCoreDesc.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMXCoreDisassembler.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMXCoreInfo.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMipa.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLLVMipo.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libLTO.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libclangARCMigrate.a:
U __ZN4llvm12MemoryBuffer16getMemBufferCopyENS_9StringRefES1_
U __ZN4llvm12MemoryBuffer16getMemBufferCopyENS_9StringRefES1_
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libclangAST.a:
U __ZN4llvm12MemoryBuffer16getMemBufferCopyENS_9StringRefES1_
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libclangASTMatchers.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libclangAnalysis.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libclangBasic.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libclangCodeGen.a:
U __ZN4llvm12MemoryBuffer16getMemBufferCopyENS_9StringRefES1_
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libclangDriver.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libclangDynamicASTMatchers.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libclangEdit.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libclangFormat.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libclangFrontend.a:
U __ZN4llvm12MemoryBuffer16getMemBufferCopyENS_9StringRefES1_
U __ZN4llvm12MemoryBuffer16getMemBufferCopyENS_9StringRefES1_
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libclangFrontendTool.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libclangIndex.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libclangLex.a:
U __ZN4llvm12MemoryBuffer16getMemBufferCopyENS_9StringRefES1_
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libclangParse.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libclangRewriteCore.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libclangRewriteFrontend.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libclangSema.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libclangSerialization.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libclangStaticAnalyzerCheckers.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libclangStaticAnalyzerCore.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libclangStaticAnalyzerFrontend.a:
/Users/asmirnov/Documents/dev/src/llvm_34_ios_i386_installed_/lib/libclangTooling.a:
So it seems it found usage but not implementation. How can i do it correctly (find .a file with method impl)?