Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

No architectures to compile error when building the framework for IOS

I am following a opencv installation document Installation in iOS when compile a ios framework. However, if I did not change platform/ios/build_framework.py and build the framework, I will have the following errors:

build settings from command line:
    ARCHS = x86_64
    IPHONEOS_DEPLOYMENT_TARGET = 6.0
    SDKROOT = iphonesimulator6.1

Build Preparation
Build task concurrency set to 8 via user default IDEBuildOperationMaxNumberOfConcurrentCompileTasks

=== BUILD AGGREGATE TARGET ZERO_CHECK OF PROJECT OpenCV WITH CONFIGURATION Release ===
Check dependencies


=== BUILD NATIVE TARGET zlib OF PROJECT OpenCV WITH CONFIGURATION Release ===

=== BUILD NATIVE TARGET libjpeg OF PROJECT OpenCV WITH CONFIGURATION Release ===

** BUILD FAILED **

Build settings from command line:
    ARCHS = x86_64
    IPHONEOS_DEPLOYMENT_TARGET = 6.0
    SDKROOT = iphonesimulator6.1

=== BUILD NATIVE TARGET zlib OF PROJECT OpenCV WITH CONFIGURATION Release ===
Check dependencies
No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=i386).


** BUILD FAILED **

Then, after many tries, I found that if I only compile for architecture armv7, armv7s and i386 by changing the following scripts in platform/ios/build_framework.py the framework can be built successfully.

targets = ["iPhoneOS", "iPhoneOS", "iPhoneSimulator"] #"iPhoneOS", "iPhoneSimulator"
    archs = ["armv7", "armv7s", "i386"]#"arm64", , "x86_64"
    for i in range(len(targets)):
        build_opencv(srcroot, os.path.join(dstroot, "build"), targets[i], archs[i])

Any ideas on how I can compile for the arm64 and x86_64 architecture? Thanks.