64位体系结构的未定义符号

时间:2015-01-30 01:26:42

标签: ios binaryfiles tesseract iphone-64bit

我刚刚使用this sh file编译了leptonica和tesseract二进制文件。我用lipo -info检查了文件,结果如下:

Architectures in the fat file: /Users/username/Desktop/tess/lib/libtesseract_all.a are: armv7s armv7 i386 x86_64 arm64
Architectures in the fat file: /Users/username/Desktop/tess/lib/liblept.a are: armv7s armv7 i386 x86_64 arm64  

我认为它应该意味着它支持64位架构。但是当我在我的项目中导入并使用它时,这就是我得到的:

ld: warning: ignoring file /Users/username/Desktop/project/projectname/tesseract-ios-lib-master/lib/libtesseract_all.a, missing required architecture x86_64 in file /Users/username/Desktop/project/projectname/tesseract-ios-lib-master/lib/libtesseract_all.a (3 slices)
ld: warning: ignoring file /Users/username/Desktop/project/projectname/tesseract-ios-lib-master/lib/liblept.a, missing required architecture x86_64 in file /Users/username/Desktop/project/projectname/tesseract-ios-lib-master/lib/liblept.a (3 slices)
Undefined symbols for architecture x86_64:
  "tesseract::TessBaseAPI::GetBoxText(int)", referenced from:
      -[Tesseract characterBoxes] in Tesseract.o
  "tesseract::TessBaseAPI::GetIterator()", referenced from:
      -[Tesseract getConfidences:] in Tesseract.o
  "tesseract::TessBaseAPI::GetUTF8Text()", referenced from:
      -[Tesseract recognizedText] in Tesseract.o
  "tesseract::TessBaseAPI::SetVariable(char const*, char const*)", referenced from:
      -[Tesseract setVariableValue:forKey:] in Tesseract.o
      -[Tesseract loadVariables] in Tesseract.o
  "tesseract::TessBaseAPI::SetRectangle(int, int, int, int)", referenced from:
      -[Tesseract setRect:] in Tesseract.o
  "tesseract::TessBaseAPI::Init(char const*, char const*, tesseract::OcrEngineMode, char**, int, GenericVector<STRING> const*, GenericVector<STRING> const*, bool)", referenced from:
      tesseract::TessBaseAPI::Init(char const*, char const*) in Tesseract.o
  "tesseract::TessBaseAPI::Version()", referenced from:
      +[Tesseract version] in Tesseract.o
  "tesseract::TessBaseAPI::SetImage(Pix const*)", referenced from:
      -[Tesseract setImage:] in Tesseract.o
  "tesseract::TessBaseAPI::Recognize(ETEXT_DESC*)", referenced from:
      -[Tesseract recognize] in Tesseract.o
  "tesseract::TessBaseAPI::TessBaseAPI()", referenced from:
      -[Tesseract initPrivateWithDataPath:language:] in Tesseract.o
  "tesseract::ImageThresholder::GetPixRect()", referenced from:
      -[Tesseract setImage:] in Tesseract.o
  "tesseract::ImageThresholder::SetImage(unsigned char const*, int, int, int, int)", referenced from:
      -[Tesseract setImage:] in Tesseract.o
  "tesseract::ImageThresholder::ImageThresholder()", referenced from:
      -[Tesseract setImage:] in Tesseract.o
  "tesseract::PageIterator::BoundingBox(tesseract::PageIteratorLevel, int*, int*, int*, int*) const", referenced from:
      -[Tesseract getConfidences:] in Tesseract.o
  "tesseract::LTRResultIterator::Confidence(tesseract::PageIteratorLevel) const", referenced from:
      -[Tesseract getConfidences:] in Tesseract.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

这让我无法在AppStore上更新我的应用程序,因为Apple宣布从2月1日开始的所有应用程序都必须支持64位。

0 个答案:

没有答案