最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

Xcode

IT圈 admin 4浏览 0评论

Xcode

背景

使用模拟器编译时报如下错误:

ld: in /Users/xxx/Documents/xx/svn/xxx/xxx/External/Captuvo/libCaptuvo
SDK.a(Captuvo.o), building for iOS Simulator, but linking in 
object file built for iOS, for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

原因是编译时,Xcode 链接 Captuvo 这个SDK的时候,链接到了真机构建的SDK上,所以提示的是arm64。而模拟器编译时候需要链接到模拟器编译的SDK,应该是x864或者i386。这个做过SDK开发的应该都知道。

Captuvo这个SDK其实是支持真机和模拟器的,只是Xcode编译项目时没链接到正确的SDK路径。

Xcode12以及之后需要对VALID_ARCHS做一些设置。

VALID_ARCHS

Xcode 12
TARGET -> BuildSetting -> User-Defined -> VALID_ARCHS

这个设置告诉编译器去链接什么样的库,是模拟器类型的x864还是真机arm64。

如果使用真机进行编译或打包,需要将VALID_ARCHS设置为arm64,这样真机就可以正常编译了。如果使用模拟器编译或者打包的话,将arm64的设置删除掉就可以了,设置为空。

但是这样在模拟器合真机之间切换的话还是比较麻烦的。

In your project Build Settings

  1. Architectures,set to Standard architectures - $(ARCHS_STANDARD)
    In
  2. Build Active Architectures Only,set Debug to Yes,Release to No
  3. let Excluded Architectures empty
  4. VALID_ARCHS, set to arm64 arm64e x86_64

相关

[1] The file “xxx” couldn’t be opened because you don’t have permission to view it. You don’t have permi =1001.2014.3001.5501

Xcode

背景

使用模拟器编译时报如下错误:

ld: in /Users/xxx/Documents/xx/svn/xxx/xxx/External/Captuvo/libCaptuvo
SDK.a(Captuvo.o), building for iOS Simulator, but linking in 
object file built for iOS, for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

原因是编译时,Xcode 链接 Captuvo 这个SDK的时候,链接到了真机构建的SDK上,所以提示的是arm64。而模拟器编译时候需要链接到模拟器编译的SDK,应该是x864或者i386。这个做过SDK开发的应该都知道。

Captuvo这个SDK其实是支持真机和模拟器的,只是Xcode编译项目时没链接到正确的SDK路径。

Xcode12以及之后需要对VALID_ARCHS做一些设置。

VALID_ARCHS

Xcode 12
TARGET -> BuildSetting -> User-Defined -> VALID_ARCHS

这个设置告诉编译器去链接什么样的库,是模拟器类型的x864还是真机arm64。

如果使用真机进行编译或打包,需要将VALID_ARCHS设置为arm64,这样真机就可以正常编译了。如果使用模拟器编译或者打包的话,将arm64的设置删除掉就可以了,设置为空。

但是这样在模拟器合真机之间切换的话还是比较麻烦的。

In your project Build Settings

  1. Architectures,set to Standard architectures - $(ARCHS_STANDARD)
    In
  2. Build Active Architectures Only,set Debug to Yes,Release to No
  3. let Excluded Architectures empty
  4. VALID_ARCHS, set to arm64 arm64e x86_64

相关

[1] The file “xxx” couldn’t be opened because you don’t have permission to view it. You don’t have permi =1001.2014.3001.5501

发布评论

评论列表 (0)

  1. 暂无评论