Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Tip

When building for iPhone in debug mode, make will by default build only for armv7. You can specify different architecture(s) with CXXARCHFLAGS, for example:

 $ make COMPILE_FOR_IPHONE=yes CXXARCHFLAGS="-arch arm64

IceTouch Ice Touch supports armv7armv7s and arm64.

Info

OS X and iOS provide two C++ run time libraries, the older libstd++ and newer libc++. By default, Xcode 5 links with libc++ when targeting OS X 10.9 or iOS 7, and with libstd++ when targeting earlier versions.

The Ice Touch build system targets iOS 5.1.1 and OS X 10.7, and as a result creates libraries linked with libstd++. If you want to create libraries linked with libc++, set CPP11 to yes, for example:

 $ make COMPILE_FOR_IPHONE=yes CXXARCHFLAGS="-arch arm64" CPP11=yes

The resulting libraries will carry a -libc++ suffix, such as libIceCpp-libc++.a or libIceGridCpp-libc++.a

These -libc++ libraries can be used by C++ applications that use C++11 features (--std=c++11), and also by C++ applications that do not (no --std=c++11).

...

The first make command (without any arguments) builds the OS X SDK with dynamic libraries, the test suite, and the demos. The remaining make commands generate static libraries and build the test suite. The build configuration options can be found in config/Make.rules.

 

Tip

When building for iPhone in debug mode, make will by default build only for armv7. You can specify different architecture(s) with ARCHFLAGS, for example:

 $ make COMPILE_FOR_IPHONE=yes ARCHFLAGS="-arch arm64

Ice Touch supports armv7armv7s and arm64.

Info

The Ice Touch Objective-C SDK relies on C++ code. OS X and iOS provide two C++ run time libraries, the older libstd++ and newer libc++. By default, Xcode 5 links with libc++ when targeting OS X 10.9 or iOS 7, and with libstd++ when targeting earlier versions.

The Ice Touch build system targets iOS 5.1.1 and OS X 10.7, and as a result creates libraries linked with libstd++. If you want to create libraries linked with libc++, set CPP11 to yes, for example:

 $ make COMPILE_FOR_IPHONE=yes ARCHFLAGS="-arch arm64" CPP11=yes

The resulting libraries will carry a -libc++ suffix, such as libIceObjC-libc++.a or libIceGridObjC-libc++.a

 

If you built for Cocoa, you should now use Xcode to build the demos located in the following subdirectories:

...

Tip

Make sure you build the appropriate SDK before opening the corresponding demo or test projects in Xcode.

If you build Ice Touch in debug mode (the default), you must ensure that the architecture used to build the tests and demos is the same architecture as the one used to build Ice Touch. To build Ice Touch with a specific architecture, you can set ARCHFLAGS in config/Make.rules or on the make command line:

$ make COMPILE_FOR_IPHONE=yes ARCHFLAGS="-arch arm64"

...

Xcode

...

.

After a successful build, you can run the test suite. For an OS X or Cocoa build, run:

...