为iOS 11编译Ghostscript

时间:2017-12-19 17:46:57

标签: ios arm ghostscript

我正在尝试为iOS 11编译Ghostscript(版本9-22),以替换为iOS 9及之前构建的旧版32位版本的库。按照此处的说明http://www.labs.saachitech.com/2014/03/16/ghostscript-ios-static-library,我改变了最后一步,以便为我提供一个arm64动态库:

onMouseDown(event) {
event.preventDefault();
event.stopPropagation();
event.stopImmediatePropagation();
let rect = this.renderer.domElement.getBoundingClientRect();

this.mouse.x = ((event.clientX - rect.left) / (this.viewportWidth)) * 2 - 1;
this.mouse.y = - ((event.clientY - rect.top) / (this.viewportHeight)) * 2 + 1;
let vector = new THREE.Vector3( this.mouse.x, this.mouse.y, 1 );

vector.unproject(this.camera);

let ray = new THREE.Raycaster( this.camera.position, vector.sub(this.camera.position).normalize() );

let intersects = ray.intersectObjects(this.scene.children);

if (intersects.length > 0) {
  if (this.activeobject !== intersects[0].object) {
    this.activeobject = intersects[0].object;
    this.transformControls.detach(this.activeobject);
    this.transformControls.attach(this.activeobject);
  }
}

this.renderer.render(this.scene, this.camera);  }

但是,如果我这样做:

ar -crs libgs_arm64_release.a obj/*.o
它告诉我:

lipo -info libgs_arm64_release.a 

认为我使用的是错误的工具,我也尝试过使用XCode工具链中的lipo:How to check if a static library is built for 64-bit?,但得到了相同的结果,认为它是x86_64。

关于编译arm64架构我缺少哪些步骤的想法?

1 个答案:

答案 0 :(得分:0)

  

我改变了最后一步,以便给我一个arm64动态库:

ar -crs libgs_arm64_release.a obj/*.o

ar只是存档工具,它从编译的目标文件构建库。如果您需要ARM库,则必须通过-arch armv7之类的开关在编译步骤中指定它。

您确定使用了正确的Makefile吗?这些项目似乎有一个模拟器(x86)和实际设备(ARM)。