iOS的GMP库 我有一个GMP库,用于C++中的大整数计算。 我无法在iOS开发的Xcode中编译相同的代码。 请提供有关如何为iOS开发编写GMP的详细步骤,如Geniewand所说,提供更多信息

iOS的GMP库 我有一个GMP库,用于C++中的大整数计算。 我无法在iOS开发的Xcode中编译相同的代码。 请提供有关如何为iOS开发编写GMP的详细步骤,如Geniewand所说,提供更多信息,ios,objective-c,Ios,Objective C,但是,我在下一步中成功编译了iOS 7 64位的GMP库: /配置 CC=“/Applications/Xcode.app/Contents/Developer/toolschains/xcodefault.xctoolschain/usr/bin/clang” CPP=“/Applications/Xcode.app/Contents/Developer/Toolchains/xcodefault.xctoolchain/usr/bin/clang -E“CPPFLAGS=“-target a

但是,我在下一步中成功编译了iOS 7 64位的GMP库:

/配置 CC=“/Applications/Xcode.app/Contents/Developer/toolschains/xcodefault.xctoolschain/usr/bin/clang” CPP=“/Applications/Xcode.app/Contents/Developer/Toolchains/xcodefault.xctoolchain/usr/bin/clang -E“CPPFLAGS=“-target arm64 apple darwin-isysroot/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/ -miphoneos版本min=7.0”--host=aarch64 apple darwin--禁用程序集--启用静态--禁用共享--前缀=/your path/


我想指出的是,它只创建了C库,我认为C++不一样,不过今天下午我会尝试。

< P>我意识到已经有相当长的时间了,但是之前的答案中没有一个对我有用。以下是我是如何做到这一点的,希望这能帮助其他人在未来

  • 从中获取gmp快照

  • 它是.lz格式的,需要解压缩。如果您有mac电脑,请使用lzip解压,使用自制
    brew安装lzip

  • 一旦它从lzip解压,那么它将是一个.tar文件,finder可以为您处理。您将拥有一个gmp文件夹,其中包含一堆文件和其他子文件夹

  • 您需要安装Xcode命令行工具。确保你已经预装了

    运行此配置行。请注意,您需要在
    --prefix
    中输入要存储的目录的路径

    ./configure CC="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -fembed-bitcode -arch arm64e --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.2.sdk" CPPFLAGS="-fembed-bitcode -arch arm64e --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.2.sdk " --disable-shared --enable-static --host=arm-apple-darwin --disable-assembly --prefix="{ YOUR_PATH_HERE }/GMP_6_1_99/gmp-6.1.99-20200117/gmplib-iphoneos-arm64e"
    
    然后运行(注意日志文件的路径与之前相同)

    对于那些可变的线路,有两个要点:平台和体系结构。上面使用的是
    arm64e
    体系结构,但是您也可以轻松地为
    arm64、armv7、armv7s
    构建。此外,您还可以更改平台,为macosx、watchos、iphonesimulator或appletvos构建
    。要更改平台,您需要找到它在您的计算机上所在位置的sdk。其他架构选项是x86_64 i386
    ,要做到这一点,请在终端中键入此选项

    xcrun --sdk iphoneos --show-sdk-path
    (replace "iphoneos" with the platform you are looking to use from above)
    

    并替换SDK路径。确保与正确的体系结构匹配,否则会出现错误,
    找不到编译器

    你需要提供更多信息。显示错误日志请与我分享您为iOS平台构建它所遵循的详细步骤。还可以共享您下载Gmp tar.bz的tar文件链接和必要的脚本,以及在iOS应用程序中运行它所应遵循的正确步骤下载并提取gmp4osx项目打开并编辑gmp4osx master/libgmp/gmp4osx,第19行显示IOSVERSION=5.1,将其更改为IOSVERSION=6.1保存文件,使用terminal浏览到该目录并键入。/gmp4osx-b,但在make命令中,它表示无法找到目录。我使用了最新版本的gmp(6.0.0a)之一,可以在中找到。顺便说一下,不要安装今天将发布的iOS 8的新开发工具,也许你不能在它们上使用gmp。同样,我使用了gmp4osx,但我认为它不再能够正常工作,请不要使用它。感谢您的评论和帮助。它对我有效。我按照所有的指令操作,但我得到了一个错误:找不到工作的编译器。。。我设置了前缀(自定义路径)、平台(iPhoneOS14.4.sdk)和体系结构(arm64)。。。[存储库](github.com/quaternionboy/GMP-iOS)
    xcrun --sdk iphoneos --show-sdk-path
    (replace "iphoneos" with the platform you are looking to use from above)