我正在尝试为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架构我缺少哪些步骤的想法?
答案 0 :(得分:0)
我改变了最后一步,以便给我一个arm64动态库:
ar -crs libgs_arm64_release.a obj/*.o
ar
只是存档工具,它从编译的目标文件构建库。如果您需要ARM库,则必须通过-arch armv7
之类的开关在编译步骤中指定它。
您确定使用了正确的Makefile吗?这些项目似乎有一个模拟器(x86)和实际设备(ARM)。