Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/112.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Quantlib与boost for iOS在xcode 4.6上构建_Ios_Boost_Build_Quantlib_Arm7 - Fatal编程技术网

Quantlib与boost for iOS在xcode 4.6上构建

Quantlib与boost for iOS在xcode 4.6上构建,ios,boost,build,quantlib,arm7,Ios,Boost,Build,Quantlib,Arm7,我正在尝试为xcode 4.6构建quantlib 值得关注的项目是: 此quantlib项目依赖于此boost项目: 我的问题是我不能得到这个提升来构建,但我可以得到另一个版本来构建github,也是由Pete开发的 构建quantlib for iOS的步骤之一是设置boost dir。我试图对此进行调整,但无济于事。 这意味着我有一个dir‘boostoniphone huuskpes boostoniphone’——它不是构建的,据说是用于quantlib on iPhone项目的版本

我正在尝试为xcode 4.6构建quantlib
值得关注的项目是:

此quantlib项目依赖于此boost项目:

我的问题是我不能得到这个提升来构建,但我可以得到另一个版本来构建github,也是由Pete开发的

构建quantlib for iOS的步骤之一是设置boost dir。我试图对此进行调整,但无济于事。 这意味着我有一个dir‘boostoniphone huuskpes boostoniphone’——它不是构建的,据说是用于quantlib on iPhone项目的版本, 而dir'boostoniphone master'是构建的,它有一个不同的构建结构和文件夹,也许在quantlib项目中设置$BOOSTDIR变量并不是那么简单

控制台的这些输出已短路,以便读取更舒适的读数

我的gitorious boost输出显示:

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)
。。。 并继续重复问题,然后这个错误就是下一个

由于其他boost项目对我有用,我尝试将其链接到buildql.sh脚本作为boost参考,但我得到:

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

一个指向如何创建框架的指针也可能是一个解决方案?但我认为让quantlib for 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主机”

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

感谢您提供任何提示和可能的解决方案。

对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}
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
生成命令运行时出现新错误:

./buildql.sh-with boost include=/opt/local/include/--with boost lib=/Volumes/Untitled 1/workspace/boostoniphone master/iphone build/stage--前缀=/opt/local/

当前输出如下所示:

: ${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}
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

以下是解决方案,而不是深入了解所有脚本细节:

  • 仔细设置路径,也就是说,尽量不要在外部驱动器上有空间或数据(尽管可以)
  • 为ARM芯片、模拟器和安装的iOS版本设置参数非常小心

总而言之,这应该是最重要的。

一切正常,它现在可以构建了。