- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个多模块项目,其中包含一个 rlib(依赖于 rust-openssl)和一个 bin(依赖于 rlib)。
我单独建rlib的时候没问题,建bin的时候就失败了,报错:
...
ld: warning: URGENT: building for OSX, but linking in object file (/Users/travis/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/i386-apple-ios/lib/liballoc_jemalloc-ea49ffd3fee5264c.rlib(pages.pic.o)) built for iOS. Note: This will be an error in the future.
ld: warning: URGENT: building for OSX, but linking in object file (/Users/travis/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/i386-apple-ios/lib/liballoc_jemalloc-ea49ffd3fee5264c.rlib(quarantine.pic.o)) built for iOS. Note: This will be an error in the future.
ld: warning: URGENT: building for OSX, but linking in object file (/Users/travis/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/i386-apple-ios/lib/liballoc_jemalloc-ea49ffd3fee5264c.rlib(rtree.pic.o)) built for iOS. Note: This will be an error in the future.
Undefined symbols for architecture i386:
"_fputs$UNIX2003", referenced from:
_write_string in libopenssl_sys-f183dd940b82d26e.rlib(ui_openssl.o)
_read_string in libopenssl_sys-f183dd940b82d26e.rlib(ui_openssl.o)
"_fopen$UNIX2003", referenced from:
_open_console in libopenssl_sys-f183dd940b82d26e.rlib(ui_openssl.o)
_openssl_fopen in libopenssl_sys-f183dd940b82d26e.rlib(o_fopen.o)
"_strerror$UNIX2003", referenced from:
_openssl_strerror_r in libopenssl_sys-f183dd940b82d26e.rlib(o_str.o)
"_fwrite$UNIX2003", referenced from:
_file_write in libopenssl_sys-f183dd940b82d26e.rlib(bss_file.o)
_file_puts in libopenssl_sys-f183dd940b82d26e.rlib(bss_file.o)
_read_string in libopenssl_sys-f183dd940b82d26e.rlib(ui_openssl.o)
_read_string_inner in libopenssl_sys-f183dd940b82d26e.rlib(ui_openssl.o)
_test_rc4_init_key in libopenssl_sys-f183dd940b82d26e.rlib(eng_openssl.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
...
目标 i386-apple-ios 失败。目标 aarch64-apple-ios armv7-apple-ios armv7s-apple-ios ok。
我尝试添加
[target.i386-apple-ios]
rustflags = [
"-C", "link-arg=-mios-simulator-version-min=7.0.0"
]
进入 ~/.cargo/config 并以另一个像这样的错误结束:
ld: warning: URGENT: building for iOS simulator, but linking in object file (/Users/user/project/target/i386-apple-ios/debug/deps/libopenssl_sys-9f3b06cb5b388503.rlib(wp-mmx.o)) built for OSX. Note: This will be an error in the future.
ld: warning: object file (/Users/user/project/target/i386-apple-ios/debug/deps/libopenssl_sys-9f3b06cb5b388503.rlib(wp-mmx.o)) was built for newer OSX version (10.12) than being linked (7.0)
Undefined symbols for architecture i386:
"_fputs$UNIX2003", referenced from:
_write_string in libopenssl_sys-9f3b06cb5b388503.rlib(ui_openssl.o)
process didn't exit successfully: `rustc --crate-name ssurl src/bin/ssurl.rs --crate-type bin --emit=dep-info,link -C debuginfo=2 -C metadata=e779ded66ad6a046 -C extra-filename=-e779ded66ad6a046 --out-dir /Users/user/project/target/i386-apple-ios/debug/deps --target i386-apple-ios -L dependency=/Users/user/project/target/i386-apple-ios/debug/deps -L dependency=/Users/user/project/target/debug/deps --extern serde_json=/Users/user/project/target/i386-apple-ios/debug/deps/libserde_json-a20ebb8bb7b96947.rlib --extern birdcrypto=/Users/user/project/target/i386-apple-ios/debug/deps/libbirdcrypto-7b7f8b4d9b356742.rlib --extern tokio_io=/Users/user/project/target/i386-apple-ios/debug/deps/libtokio_io-ffe06c22ad81dd5f.rlib --extern bytes=/Users/user/project/target/i386-apple-ios/debug/deps/libbytes-3515e9da1291588d.rlib --extern qrcode=/Users/user/project/target/i386-apple-ios/debug/deps/libqrcode-0b5b9eed05c8d5fb.rlib --extern net2=/Users/user/project/target/i386-apple-ios/debug/deps/libnet2-ecef00d50a8ddca3.rlib --extern lru_cache=/Users/user/project/target/i386-apple-ios/debug/deps/liblru_cache-3a583fd605a1b3b3.rlib --extern tokio_core=/Users/user/project/target/i386-apple-ios/debug/deps/libtokio_core-57e0150d22448791.rlib --extern byteorder=/Users/user/project/target/i386-apple-ios/debug/deps/libbyteorder-240cc8a1e1423fad.rlib --extern domain=/Users/user/project/target/i386-apple-ios/debug/deps/libdomain-fc3ea0606d179f92.rlib --extern futures=/Users/user/project/target/i386-apple-ios/debug/deps/libfutures-8985671f9fa6f7b8.rlib --extern time=/Users/user/project/target/i386-apple-ios/debug/deps/libtime-65bf99b4b8c3df95.rlib --extern log=/Users/user/project/target/i386-apple-ios/debug/deps/liblog-d4c0e5c2504fbbea.rlib --extern base64=/Users/user/project/target/i386-apple-ios/debug/deps/libbase64-3733960102cc46b7.rlib --extern env_logger=/Users/user/project/target/i386-apple-ios/debug/deps/libenv_logger-8778ad732965ba61.rlib --extern num_cpus=/Users/user/project/target/i386-apple-ios/debug/deps/libnum_cpus-9b2a7df0e5b9fd16.rlib --extern clap=/Users/user/project/target/i386-apple-ios/debug/deps/libclap-95e5c3504e3f13b5.rlib --extern birdnet=/Users/user/project/target/i386-apple-ios/debug/deps/libbirdnet-baa74095bd0c6dca.rlib -C link-arg=-mios-simulator-version-min=7.0.0 -L native=/Users/user/project/tmp/openssl-1.1.0e-i386-apple-ios/lib -L native=/Users/user/project/target/i386-apple-ios/debug/build/rust-crypto-38b42e435c8bcaf2/out` (exit code: 101) _read_string in libopenssl_sys-9f3b06cb5b388503.rlib(ui_openssl.o)
"_fopen$UNIX2003", referenced from:
_open_console in libopenssl_sys-9f3b06cb5b388503.rlib(ui_openssl.o)
_openssl_fopen in libopenssl_sys-9f3b06cb5b388503.rlib(o_fopen.o)
"_strerror$UNIX2003", referenced from:
_openssl_strerror_r in libopenssl_sys-9f3b06cb5b388503.rlib(o_str.o)
"_fwrite$UNIX2003", referenced from:
_file_write in libopenssl_sys-9f3b06cb5b388503.rlib(bss_file.o)
_file_puts in libopenssl_sys-9f3b06cb5b388503.rlib(bss_file.o)
_read_string in libopenssl_sys-9f3b06cb5b388503.rlib(ui_openssl.o)
_read_string_inner in libopenssl_sys-9f3b06cb5b388503.rlib(ui_openssl.o)
_test_rc4_init_key in libopenssl_sys-9f3b06cb5b388503.rlib(eng_openssl.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
最佳答案
有两个问题。
未找到架构 i386 的符号从 https://github.com/chshawkn/openssl-build 替换 openssl 静态库后至 https://github.com/x2on/OpenSSL-for-iPhone , 目标 i386-apple-ios 构建成功。
le (/Users/user/project/target/i386-apple-ios/debug/deps/libopenssl_sys-9f3b06cb5b388503.rlib(wp-mmx.o)) 为 OSX 构建。在 ~/.cargo/bin/cc 中放置一个脚本来解决这个问题。
#!/usr/bin/env bash
if [ -n "$(echo $@ | grep i386-apple-ios)" ] || [ -n "$(echo $@ | grep
x86_64-apple-ios)" ]; then
xcrun --sdk iphonesimulator --show-sdk-path
exec xcrun --sdk iphonesimulator cc -mios-simulator-version-min=7.0.0 $*
elif [ -n "$(echo $@ | grep apple-ios)" ]; then
xcrun --sdk iphoneos --show-sdk-path
exec xcrun --sdk iphoneos cc -mios-version-min=7.0.0 $*
else
exec /usr/bin/cc $*
fi
关于ios - rust-openssl 在 --target=i386-apple-ios 时无法构建 bin(iOS 模拟器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44163116/
IO 设备如何知道属于它的内存中的值在memory mapped IO 中发生了变化? ? 例如,假设内存地址 0 专用于保存 VGA 设备的背景颜色。当我们更改 memory[0] 中的值时,VGA
我目前正在开发一个使用Facebook sdk登录(通过FBLoginView)的iOS应用。 一切正常,除了那些拥有较旧版本的facebook的人。 当他们按下“使用Facebook登录”按钮时,他
假设我有: this - is an - example - with some - dashesNSRange将使用`rangeOfString:@“-”拾取“-”的第一个实例,但是如果我只想要最后
Card.io SDK提供以下详细信息: 卡号,有效期,月份,年份,CVV和邮政编码。 如何从此SDK获取国家名称。 - (void)userDidProvideCreditCardInfo:(Car
iOS 应用程序如何从网络服务下载图片并在安装过程中将它们安装到用户的 iOS 设备上?可能吗? 最佳答案 您无法控制应用在用户设备上的安装,因此无法在安装过程中下载其他数据。 只需在安装后首次启动应
我曾经开发过一款企业版 iOS 产品,我们公司曾将其出售给大型企业,供他们的员工使用。 该应用程序通过 AppStore 提供,企业用户获得了公司特定的配置文件(包含应用程序配置文件)以启用他们有权使
我正在尝试将 Card.io SDK 集成到我的 iOS 应用程序中。我想为 CardIO ui 做一个简单的本地化,如更改取消按钮标题或“在此保留信用卡”提示文本。 我在 github 上找到了这个
我正在使用 CardIOView 和 CardIOViewDelegate 类,没有可以设置为 YES 的 BOOL 来扫描 collectCardholderName。我可以看到它在 CardIOP
我有一个集成了通话工具包的 voip 应用程序。每次我从我的 voip 应用程序调用时,都会在 native 电话应用程序中创建一个新的最近通话记录。我在 voip 应用程序中也有自定义联系人(电话应
iOS 应用程序如何知道应用程序打开时屏幕上是否已经有键盘?应用程序运行后,它可以接收键盘显示/隐藏通知。但是,如果应用程序在分屏模式下作为辅助应用程序打开,而主应用程序已经显示键盘,则辅助应用程序不
我在模拟器中收到以下错误: ImageIO: CGImageReadSessionGetCachedImageBlockData *** CGImageReadSessionGetCachedIm
如 Apple 文档所示,可以通过 EAAccessory Framework 与经过认证的配件(由 Apple 认证)进行通信。但是我有点困惑,因为一些帖子告诉我它也可以通过 CoreBluetoo
尽管现在的调试器已经很不错了,但有时找出应用程序中正在发生的事情的最好方法仍然是古老的 NSLog。当您连接到计算机时,这样做很容易; Xcode 会帮助弹出日志查看器面板,然后就可以了。当您不在办公
在我的 iOS 应用程序中,我定义了一些兴趣点。其中一些有一个 Kontakt.io 信标的名称,它绑定(bind)到一个特定的 PoI(我的意思是通常贴在信标标签上的名称)。现在我想在附近发现信标,
我正在为警报提示创建一个 trigger.io 插件。尝试从警报提示返回数据。这是我的代码: // Prompt + (void)show_prompt:(ForgeTask*)task{
您好,我是 Apple iOS 的新手。我阅读并搜索了很多关于推送通知的文章,但我没有发现任何关于 APNS 从 io4 到 ios 6 的新更新的信息。任何人都可以向我提供 APNS 如何在 ios
UITabBar 的高度似乎在 iOS 7 和 8/9/10/11 之间发生了变化。我发布这个问题是为了让其他人轻松找到答案。 那么:在 iPhone 和 iPad 上的 iOS 8/9/10/11
我想我可以针对不同的 iOS 版本使用不同的 Storyboard。 由于 UI 的差异,我将创建下一个 Storyboard: Main_iPhone.storyboard Main_iPad.st
我正在写一些东西,我将使用设备的 iTunes 库中的一部分音轨来覆盖 2 个视频的组合,例如: AVMutableComposition* mixComposition = [[AVMutableC
我创建了一个简单的 iOS 程序,可以顺利编译并在 iPad 模拟器上运行良好。当我告诉 XCode 4 使用我连接的 iPad 设备时,无法编译相同的程序。问题似乎是当我尝试使用附加的 iPad 时
我是一名优秀的程序员,十分优秀!