我在我的应用中发布了有关Google Framework的新警告:
(null):紧急:所有bitcode都将被删除,因为'/ Users/myname/Library/Mobile Documents/com~apple~CloudDocs/foldername/appname/GoogleMobileAds.framework/GoogleMobileAds(GADSlot + AdEvents.o)'是在没有bitcode的情况下构建的.您必须在启用bitcode(Xcode设置ENABLE_BITCODE)的情况下重建它,从供应商处获取更新的库,或禁用此目标的bitcode.注意:将来这将是一个错误.
Xcode 7给了我大约204个关于同样概念的警告,我无法解决这个问题.此外,我从我的应用程序访问网络时遇到问题.这是调试区域的错误:
-canOpenURL:URL失败:"kindle:// home" - 错误:"此应用程序不允许查询scheme kindle"
所有这些问题都不存在于iOS 8中.
我有一个C++编译的静态库,包含大约15个类及其成员函数和东西,并且已编译,它几乎是14兆字节.它链接到谷歌的密集哈希表库和MPIR,就像GMP for Windows一样,但我在普通的exe中做到了这一点,它只有几千字节.为什么这么大?我该怎么做才能减小尺寸?似乎还有其他程序远比我的复杂程度要小得多.
用Visual C++编译,命令行是:
/Zi /nologo /W3 /WX- /O2 /Oi /Oy- /GL /D "WIN32" /D "NDEBUG" /D "_CONSOLE"
/D "_UNICODE" /D "UNICODE" /Gm- /EHsc /GS /Gy /fp:precise /Zc:wchar_t
/Zc:forScope /Fp"Release\ang.pch" /Fa"Release\" /Fo"Release\"
/Fd"Release\vc100.pdb" /Gd /analyze- /errorReport:queue
Run Code Online (Sandbox Code Playgroud) 因此,我升级到Mavericks以及最新版本的Xcode(5.02),并且 - 正如预期的那样,无法编译包含C扩展的任何新的Ruby宝石.这种情况特别发生在我自己的项目NMatrix中,其中包括C和C++代码.
我重新安装了Xcode的命令行工具.然后我升级了自制软件.然后我卸载了rbenv,ruby-build和我的自定义GCC版本(4.7除外,它是手动安装而不是通过brew安装).
接下来,我使用brew来安装gcc48(和gcc49一样好).我指示我的gem用GCC-4.8.2而不是GCC 4.9的dev快照构建.
好消息是我的宝石现在可以正常编译.坏消息是它不会链接.这是链接步骤:
$ bundle exec rake compile
cd tmp/x86_64-darwin13.0.0/nmatrix/2.0.0
make
linking shared-object nmatrix.bundle
ld: warning: directory not found for option '-L/usr/lib64/atlas'
0 0x10ef3f724 __assert_rtn + 144
1 0x10ef7425e archive::File<x86_64>::makeObjectFileForMember(archive::File<x86_64>::Entry const*) const + 1118
2 0x10ef73c3b archive::File<x86_64>::justInTimeforEachAtom(char const*, ld::File::AtomHandler&) const + 139
3 0x10ef883fe ld::tool::InputFiles::searchLibraries(char const*, bool, bool, bool, ld::File::AtomHandler&) const + 210
4 0x10ef8f181 ld::tool::Resolver::resolveUndefines() + 189
5 0x10ef911a5 ld::tool::Resolver::resolve() + 79
6 0x10ef3fb17 main + 669
A linker snapshot was created at:
/tmp/nmatrix.bundle-2013-10-15-085036.ld-snapshot
ld: …Run Code Online (Sandbox Code Playgroud)