Build error while trying to create ABBYY Mobile OCR SDK code

I got a trial license from ABBYY and got a trial SDK for iPhone. But I can not create and debug a project on my device. It gives the error: "_OBJC_CLASS _ $ _ CMocrManager" referenced by:

The application works fine in the simulator (with one image shown in the sample).

Please help, I added a screenshot.

fCQRZm.png

+4
source share
2 answers

I contacted technical support for abbyy mobile sdk , and the following was the answer to the build number:

"I found out that there is no way to see the dll library build number on Mac OS (this can only be seen on Windows, I apologize for the inconvenience).

And then regarding the build error, I followed the following instructions:

You are using the latest version of the OCR Engine ABBYY, so the problem is in the project settings.

Below is an instruction on how to run a sample for iPhone on Xcode 4.3, iPhoneSDK 5.1.

When you start Xcode and open the Sample.private.xcodeproj project, Xcode displays a workspace window. The toolbar provides quick access to the "View" button group in the upper right corner. Click the Hide or Show Navigator button (or the same via the xCode main menu: View → Navigators → Show Project Navigator).

“Project Navigator” appears on the left side of the “Workspace” window containing a single project, “Sample.private”.

Click the project icon "Sample.private" in the project navigator. The panel to the right of the project navigator displays the Project Editor panel, which displays the Project → Sample.private element and the Target → Sample element.

Choose Project → Sample.private and configure the following options on the BuildSettings tab:

• Build settings → Architecture section:

Base SDK = "Recent iOS (iOS 5.1)"

Built-in Active Architecture Only = Yes

Other architecture settings should be automatically enabled:

Architecture = Standard (armv7)

Supported platforms = iphoneh iphonesimulator

Virtual architectures = armv6 armv7

• Specify the developer license for the Code Signing Identity parameter in the Code Signing section.

• To indicate which version of the OS is the minimum that your application will support, install the iOS deployment in the Deployment section.

Select goals → Example. Here, also open the "Build Settings" tab and do almost the same as for Project → Sample.private:

• Build settings → Architecture section:

Built-in Active Architecture Only = Yes

Check other architecture settings:

Architecture = armv6

"Base SDK" = "Recent iOS (iOS 5.1)"

Supported platforms = iphoneh iphonesimulator

Virtual architectures = armv6

• Specify the developer license for the Code Signing Identity parameter in the Code Signing section.

• To indicate which OS version is the minimum that your application supports, install iOS for deployment in the Deployment section:

iOS Deployment Goal = iPhone OS version where the sample will be launched.

Then configure the Run Sample.app scheme, which opens by default from the xCode main menu: Product → Change scheme:

• the Destination parameter must be an iOS device (if the mobile device is currently disconnected from the computer) or it must be the name of the device connected to your computer at the current time on which you intend to run the sample.

• Change the Build Configuration option on the Info tab to iPhone.Debug.

Now try to run the sample on the device.

In addition, our testing engineers noticed that you may have a message like "Error starting remote program: failed to complete task for xxx". when the sample is installed on the device and does not work in debug mode. The solution to this problem is described in detail on various iOS developer forums. You can try to solve this problem by deleting all training profiles, except the developer, from your mobile device.

And I was able to successfully collect the sample.

Thanks to nikolay and sharptooth for helping me with this.

+4
source

This is a communication problem. The linker warning that precedes the error message clearly indicates that the .a file that makes up the SDK ( libAbbyyMsdk.a ) is compiled for an architecture that is different from the armv6 architecture the armv6 is targeting. Either contact the vendor and ask them to tell armv6 target version of the .a file, or you will target your project with the same architecture as the .a file.

+1
source

Source: https://habr.com/ru/post/1392947/


All Articles