我需要使用GMP
在我正在开发的 iPhone 程序中,但真的不知道从哪里开始。我知道我必须为设备构建一个版本,为模拟器构建一个版本,但这就是我所知道的。我尝试环顾四周,但没能找到太多东西。
这里有人成功构建吗GMP
for iphone
愿意指导我完成整个过程吗?
I saw 为 iOS 构建 GMP https://stackoverflow.com/questions/7144422/building-gmp-for-ios但这对我不起作用。
我以为我已经使用以下方法成功构建了它:
./configure CC="/Developer/Platforms/iPhoneOS.platform/Developer/usr/llvm-gcc-4.2/bin/llvm-gcc-4.2" CXX="/Developer/Platforms/iPhoneOS.platform/Developer/usr/llvm-gcc-4.2/bin/llvm-g++-4.2" CPP="/Developer/Platforms/iPhoneOS.platform/Developer/usr/llvm-gcc-4.2/bin/llvm-gcc-4.2 -E" LD="$IOS/usr/bin/ld" CPPFLAGS="-arch armv7 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk -miphoneos-version-min=4.2" AR="$IOS/usr/bin/ar" NM="$IOS/usr/bin/nm" NMEDIT="$IOS/usr/bin/nmedit" LIBTOOL="$IOS/usr/bin/libtool" LIPO="$IOS/usr/bin/lipo" OTOOL="$IOS/usr/bin/otool" RANLIB="$IOS/usr/bin/ranlib" STRIP="$IOS/usr/bin/strip" --disable-shared --enable-static --prefix=$IOS/usr/local --host=none-apple-darwin10
然后进行安装。
In /usr/local/lib
I have libgmp.a
。但是当我拖动到xcode
当我去编译时它告诉我:
ignoring file /Users/daniel/Desktop/libgmp.a, file was built for archive which is not the architecture being linked (armv7)
(由于某种原因我放在桌面上,然后拖到我的 xcode 项目中)
这让我抓狂。有人可以帮忙吗?请记住,我完全是使用这些工具的菜鸟。
假设我得到帮助并且我可以完成这项工作。我如何将它变成一个可以在armv6
, armv7
, and simulator(i386)
?
提前致谢。
Dan
更新:如果其他人也遇到这个问题,我是如何解决的。
首先交叉编译GMP 3次,将架构设置为armv6。分别是armv7和i386。构建arm版本时,将标志-DNO_ASM添加到CPPFLAGS。
一起找到LIPO这三个.a文件
使用 gmp.g 和 gmpgxx.h 将 .a 文件导入到 XCode。
Done
按照罗布的建议,我将回答我的问题并接受答案。我对此很陌生,所以如果有更简单的方法请原谅我,这就是我设法做到的。
要为 iphone 构建 GMP,您必须从命令行构建三个库 3 次。为armv6、armv7和i386架构构建。为了确保 xcode 中没有问题,请确保将 -DNO_ASM 添加到 CPPFLAGS。获得三个 .a 文件后,将它们一起放入一个库中。
现在,您可以将使用 lipo 创建的库添加到 xcode 中并包含标头,您现在可以使用适用于 iphone 开发的 GMP。
我希望这有帮助。我花了几天时间试图解决这个问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)