iOS上的OpenALPR无法构建项目未定义的符号

时间:2015-08-20 23:09:00

标签: ios xcode configuration compiler-errors objective-c++

我按照https://github.com/twelve17/openalpr-ios上的说明进行了编译。 我创建了一个文件来测试这个,下面是我的代码。

#import "ImageConverter.h"
#import <opencv2/highgui/ios.h>
#import <openalpr/alpr.h>


@implementation ImageConverter
-(NSString *)stringFromPlate:(UIImage *)image{
    cv::Mat matImage;
    UIImageToMat(image, matImage);
    alpr::Alpr *myAlpr = new alpr::Alpr("US");
    myAlpr->isLoaded();
    myAlpr->setDetectRegion(true);
    myAlpr->setTopN(1); //fixé le nombre de plaque a trouver. si plus de 1 ca retourne plusieur resultat candida pour l'image.
    alpr::AlprResults myResult = myAlpr->recognize(matImage);

    return @(myAlpr->toJson(myResult).c_str()); //conversion a NSString

}
@end

当我构建这个时,我得到以下错误

Undefined symbols for architecture armv7:
  "alpr::Alpr::Alpr(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >)", referenced from:
      -[ImageConverter stringFromPlate:] in ImageConverter.o
  "alpr::Alpr::isLoaded()", referenced from:
      -[ImageConverter stringFromPlate:] in ImageConverter.o
  "alpr::Alpr::toJson(alpr::AlprResults)", referenced from:
      -[ImageConverter stringFromPlate:] in ImageConverter.o
  "alpr::Alpr::setDetectRegion(bool)", referenced from:
      -[ImageConverter stringFromPlate:] in ImageConverter.o
  "alpr::Alpr::setTopN(int)", referenced from:
      -[ImageConverter stringFromPlate:] in ImageConverter.o
  "alpr::Alpr::recognize(std::__1::vector<char, std::__1::allocator<char> >)", referenced from:
      -[ImageConverter stringFromPlate:] in ImageConverter.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我读了许多与获取架构armv7:或arm64的未定义符号相关的问题。

我检查了我的lib架构,我得到了这个检查确定

/libopenalpr-xcode.a是:armv7 arm64

此时我有点迷失为什么会发生这种情况,这是我第一次整合c ++代码并在iOS项目或xcode中使用.mm文件。

编辑:这是我试图开始工作的lib,我从https://docs.google.com/document/d/1x8M1b-v-VnqwgfUx5NZWEaKEpGZ0bdiTQAa1TD9q7pQ/edit获得了Alpr lib

我能够在没有错误的情况下编译框架,但是这说明了一些设置在这个项目中是错误的并且阻止我使用它。

编辑:2018/07/13 - 我不再为我创建此课题时的公司工作。我最终没有时间对此进行更多测试,从那时起,我最初创建的测试项目现在已被删除。

0 个答案:

没有答案