Quantlib с надстройкой для iOS на платформе xcode 4.6

Я пытаюсь собрать Quantlib для XCode 4.6.
Вот этот проект, вызывающий озабоченность: https://github.com/philipbarnes/quantlib-on-iOS

Этот проект Quantlib опирается на этот проект: https://gitorious.org/boostoniphone/boostoniphone

Моя проблема в том, что я не могу получить этот буст для сборки, но я могу получить другую версию для сборки на github также от Пита.

Один из шагов в построении Quantlib для iOS просит установить каталог повышения. Я пытался отрегулировать это безрезультатно. Means Это означает, что у меня есть каталог 'boostoniphone-huuskpes-boostoniphone' - который не собирается и, как говорят, является версией для использования с проектом Quantlib на iPhone, и каталог 'Boostoniphone-master', который создавал - он имеет другая структура сборки с папками и, возможно, установка переменной $BOOSTDIR в проекте Quantlib не так просто.

Эти выходы из консоли были закорочены для более удобного чтения

Мой великолепный импульс говорит:

3 warnings generated.
darwin.archive bin.v2/libs/thread/build/darwin-6.1~iphonesim/release/architecture-x86/link-       static/macosx-version-iphonesim-6.0/target-os-iphone/threading-multi/libboost_thread.a
common.copy stage/lib/libboost_thread.a
...updated 120 targets...

=================================================================
Done

Splitting all existing fat binaries...
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/lipo:     can't open input file: /Users/colman/Downloads/boostoniphone-huuskpes-   boostoniphone_/src/boost_1_51_0/bin.v2/libs/thread/build/darwin-4.2.1~iphone/release/architecture-  arm/link-static/macosx-version-iphone-6.0/target-os-iphone/threading-multi/libboost_thread.a (No such   file or directory)

... и продолжает с повторением проблемы, затем эта ошибка следующая...

ar: obj/*.o: No such file or directory
...armv7s
ar: obj/*.o: No such file or directory
...i386
ar: obj/*.o: No such file or directory
liboficate: thread
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/lipo: can't open input file: /Users/colman/Downloads/boostoniphone-huuskpes-    boostoniphone_/src/boost_1_51_0/bin.v2/libs/thread/build/darwin-4.2.1~iphone/release/architecture-arm/link-static/macosx-version-iphone-6.0/target-os-iphone/threading-multi/libboost_thread.a (No such file or directory)

так как у меня работает другой проект надстройки, я пытаюсь связать его с сценарием buildql.sh в качестве надстройки, но получаю:

checking for arm-apple-darwin10-gcc...       /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-    darwin10-llvm-gcc-4.2
checking whether the C compiler works... no
configure: error: in `/Users/colman/Downloads/boostoniphone-huuskpes-boostoniphone_/QuantLib-1.2.1':
configure: error: C compiler cannot create executables
See `config.log' for more details

а также

/Applications/Xcode.app/Contents//Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/lipo: can't open input file: /Users/colman/Downloads/boostoniphone-huuskpes-boostoniphone_/QuantLib-1.2.1/prefix/armv7/lib/libQuantLib.a (No such file or directory)

Указатель на то, как сделать фреймворки, также может быть решением? Но я думаю, что заставить работать Quantlib для iOS - реальное решение.

Возвращаясь к переменной BOOST, в файле buildql.sh были внесены следующие изменения:

#: ${BOOST_HOME:=$HOME/workspace/huuskpes-boostoniphone}
: ${BOOST_HOME:=$HOME/workspace/boostoniphone-master/}

: ${BOOST_SRC:=$BOOST_HOME/src/boost_1_51_0}

Следующее также было изменено, чтобы попытаться соответствовать "Boostoniphone-Master"

: ${SRCDIR:=`pwd`/src}
: ${BUILDDIR:=`pwd`/build}
: ${PREFIXDIR:=`pwd`/prefix}
: ${FRAMEWORKDIR:=`pwd`/framework}

Спасибо за любые подсказки, потенциальные решения.

2 ответа

Вместо того, чтобы вдаваться во все детали скрипта, вот решение:

  • Тщательно устанавливайте пути, это означает, что старайтесь не иметь пробелов или иметь данные на внешнем диске (хотя вы можете)
  • Установить параметры для чипа ARM, симулятора и установленной версии iOS очень и очень аккуратно!

В целом это должно быть больше всего.

Изменения в скрипте buildql.sh выглядят так:

: ${BOOST_HOME:=/Volumes/Untitled\ 1/workspace/boostoniphone-master/iphone-build/stage/lib}
: ${BOOST_SRC_HOME:=/Volumes/Untitled\ 1/workspace/boostoniphone-master/boostoniphone-master}
: ${BOOST_SRC:=$BOOST_SRC_HOME/src/boost_1_51_0/boost}

...

: ${SRCDIR:=/Volumes/Untitled\ 1/workspace/quantlib-on-iOS-master/QuantLib-1.2.1/src}
: ${BUILDDIR:=/Volumes/Untitled\ 1/workspace/quantlib-on-iOS-master/QuantLib-1.2.1/build}
: ${PREFIXDIR:=/Volumes/Untitled\ 1/workspace/quantlib-on-iOS-master/QuantLib-1.2.1/prefix}
: ${PREFIXDIR_2:=/Volumes/Untitled\ 1/workspace/quantlib-on-iOS-master/QuantLib-1.2.1/prefix}
: ${FRAMEWORKDIR:=/Volumes/Untitled\ 1/workspace/quantlib-on-iOS-master/./ql/.libs/libQuantLib.a}

Команда сборки запускается с новой ошибкой:

./buildql.sh -with-boost-include = / opt / local / include / --with-boost-lib = / Volumes / Untitled 1 / рабочее пространство /boostoniphone-master/iphone-build/stage --prefix=/opt/местный/

Токовый выход выглядит так:

libtool: link: (cd .libs/libExperimental.lax/libAmortizingBonds.a && ar x "/Volumes/Untitled 1/workspace/quantlib-on-iOS-master/QuantLib-1.2.1/ql/experimental/amortizingbonds/.libs/libAmortizingBonds.a")
../../libtool: line 1096: cd: .libs/libExperimental.lax/libAmortizingBonds.a: No such file or directory
make[3]: *** [libExperimental.la] Error 1
make[2]: *** [install-recursive] Error 1
make[1]: *** [install-recursive] Error 1
make: *** [install-recursive] Error 1

=================================================================
Done

rm: /Volumes/Untitled: Resource busy

=================================================================
Framework: Setting up directories...


=================================================================
Framework: Creating symlinks...

ln: 1/workspace/quantlib-on-iOS-master/./ql/.libs/libQuantLib.a/ql.framework/Versions/Current: No such file or directory
ln: 1/workspace/quantlib-on-iOS-master/./ql/.libs/libQuantLib.a/ql.framework/Headers: No such file or directory
ln: 1/workspace/quantlib-on-iOS-master/./ql/.libs/libQuantLib.a/ql.framework/Resources: No such file or directory
ln: 1/workspace/quantlib-on-iOS-master/./ql/.libs/libQuantLib.a/ql.framework/Documentation: No such file or directory
ln: 1/workspace/quantlib-on-iOS-master/./ql/.libs/libQuantLib.a/ql.framework/ql: No such file or directory

=================================================================
Framework: Lipoing library into /Volumes/Untitled 1/workspace/quantlib-on-iOS-master/./ql/.libs/libQuantLib.a/ql.framework/Versions/A/ql

/Applications/Xcode.app/Contents//Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/lipo:     can't open input file: $    /Applications/Xcode.app/Contents//Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/lipo         -create         -arch armv7 /Volumes/Untitled 1/workspace/quantlib-on-iOS-    master/QuantLib-1.2.1/1/workspace/quantlib-on-iOS-master/QuantLib-1.2.1/ql/.libs/libQuantLib.a         -arch armv7s /Volumes/Untitled 1/workspace/quantlib-on-iOS-master/QuantLib-1.2.1/1/workspace/quantlib-on-iOS-master/QuantLib-1.2.1/ql/.libs/libQuantLib.a         -arch i386  /Volumes/Untitled 1/workspace/quantlib-on-iOS-master/QuantLib-1.2.1/1/workspace/quantlib-on-iOS-master/    QuantLib-1.2.1/ql/.libs/libQuantLib.a         -o          /Volumes/Untitled (No such file or directory)

Aborted: Lipo  failed
Другие вопросы по тегам