标签: universal-binary

Mac 10.6 Universal Binary scipy:找不到cephes/specfun"_aswfa_"符号

当作为I386/x86_64的通用二进制编译,而在我的64位10.6.2 MacPro1,1执行我不能得到SciPy的32位模式下运行.

我的python设置

这个答案的帮助下,我构建了一个32/64位的python 2.6.4的intel通用二进制文件,目的是使用arch命令在架构之间进行选择.(我设法使用lipo制作了一些我想要的库的通用二进制文件.)一切正常.然后我根据hyperjeff的文章中的说明安装了scipy ,只是使用了更新的numpy(1.4.0)并且在安装scipy时跳过了关于简单地移动numpy的一点.

现在,除了scipy之外的所有东西似乎都可以正常工作,我确实可以使用arch -i386 python和选择32位和64位模式arch -x86_64 python.

错误

Scipy以32位模式抱怨:

$ arch -x86_64 python -c "import scipy.interpolate; print 'success'"
success
$ arch -i386 python -c "import scipy.interpolate; print 'success'"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/scipy/interpolate/__init__.py", line 7, in <module>
    from interpolate import *
  File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/scipy/interpolate/interpolate.py", line 13, in <module>
    import scipy.special as spec
  File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/scipy/special/__init__.py", line 8, in <module>
    from …
Run Code Online (Sandbox Code Playgroud)

python architecture scipy osx-snow-leopard universal-binary

6
推荐指数
1
解决办法
1871
查看次数

在iPad上运行通用应用程序作为"传统"iPhone应用程序

我在iPad上进行了大多数开发测试.当我测试iPhone应用程序时,它以"兼容性"模式运行,其中小型iPhone应用程序在小窗口或x2放大率下运行.现在我已经创建了一个通用应用程序,它作为原生iPad应用程序运行.为了进行测试,当我没有iPhone方便进行测试时,我想使用模拟的iPhone.

如何构建项目以便iPad以兼容模式运行应用程序?

iphone xcode universal-binary ipad

6
推荐指数
1
解决办法
2670
查看次数

iPhone中的设备专用资源

根据iOS参考库:

在iOS 4.0及更高版本中,可以将各个资源文件标记为仅在特定类型的设备上可用.

这是否意味着如果您要为3.X设备创建通用应用程序,特别是3.2 iPad,则不能将设备特定资源用于~ipad~iphone后缀?

如果是这样,这是处理特定于设备的资源的正确方法吗?

UIImage* anImage;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
    anImage = [UIImage imageNamed:@"MyImage-iPad.png"];
} else {
    anImage = [UIImage imageNamed:@"MyImage-iPhone.png"];
}  
Run Code Online (Sandbox Code Playgroud)

我应该知道的任何其他考虑因素?

iphone resources universal-binary ipad ios

6
推荐指数
1
解决办法
599
查看次数

6
推荐指数
1
解决办法
4617
查看次数

通用应用程序的命名约定

我正在编写一个通用的iOS应用程序(iPad和iPhone),并且发现自己拥有大量长名称,无法在两个应用程序之间共享:

FamilyViewController_iPhone.h/m
FamilyViewControllerA_iPad.h/m

DetailViewControllerB_iPhone.h/m
DetailViewControllerB_iPad.h/m
Run Code Online (Sandbox Code Playgroud)

同样,这些人内部的类具有完整的名称(包括设备),主要是为了使Interface Builder可以轻松使用它们.

我考虑过像AControllerA.h和BControllerA.h这样的东西,其中A = iPhone和B = iPad,但也没有对这个选项感到兴奋.

在iOS通用应用程序中,类似这样的类的常规约定是什么?或者我(希望)错过了能够避免这种必要性的东西?

xcode objective-c naming-conventions universal-binary ios

6
推荐指数
1
解决办法
1701
查看次数

从两个应用程序创建"通用二进制"?

简短的问题:你如何使用两个应用程序,一个用于英特尔和另一个ppc,并将它们打包成一个通用二进制文件?

我目前对这个问题的看法:

我已阅读有关通用二进制文件的Apple开发人员文档,但未能找到答案,因此可能无法实现.

由于我不会进入这里的原因,我有两个程序的应用程序(通常使用xtools来编译二进制文件),一个用于Intel Macs,另一个用于Mac> = 10.3.9在PPC上运行.共享资源不是问题.

我可以将MyProg_intel.app和MyProg_ppc.app放入一个zip并以这种方式分发; 但这可能会导致我将分发我的程序的许多人感到困惑.

macos xcode universal-binary

5
推荐指数
2
解决办法
3165
查看次数

将单独的iPad/iPhone目标转变为通用应用程序

当我开始我的通用应用程序时,我认为一个目标选项太多了,所以我选择了单独的目标.我通过制作应用程序的iPad部分实现了一半,制作通用应用程序会更容易.问题是,我不能使用Apple的选项将我的iPhone目标转换为Universal,因为已经有单独的目标.有没有一种解决方法可以让我将我的iPhone目标升级到Universal?

iphone xcode universal-binary ipad

5
推荐指数
1
解决办法
3502
查看次数

MacOSX上的g ++不能与-arch ppc64一起使用

我正在尝试使用g ++在MacOSX上构建通用二进制文件.但是,它并没有真正起作用.我试过这个简单的虚拟代码:

#include <iostream>
using namespace std;
int main() {
    cout << "Hello" << endl;
}
Run Code Online (Sandbox Code Playgroud)

这很好用:

% g++ test.cpp -arch i386 -arch ppc -arch x86_64 -o test
% file test
test: Mach-O universal binary with 3 architectures
test (for architecture i386):   Mach-O executable i386
test (for architecture ppc7400):    Mach-O executable ppc
test (for architecture x86_64): Mach-O 64-bit executable x86_64
Run Code Online (Sandbox Code Playgroud)

但是,这不是:

% g++ test.cpp -arch i386 -arch ppc -arch x86_64 -arch ppc64 -o test
In file included from test.cpp:1:
/usr/include/c++/4.2.1/iostream:44:28: …
Run Code Online (Sandbox Code Playgroud)

macos g++ universal-binary

5
推荐指数
1
解决办法
4026
查看次数

如何在 os x 上使 Boost dylibs 通用(i386 和 x86_64)?

我正在尝试将 Boost 库编译成通用二进制文件(即包含 i386 和 x86_64 架构的构建的“胖”文件)。

发酸互联网和SO我组装了以下说明。

  1. 下载 boost(例如从http://www.boost.org/users/download/

  2. 在下载的文件夹中,输入./bootstrap.sh (或者,在我的情况下./bootstrap.sh --with-libraries=thread,因为我只需要线程库)

  3. 类型 ./b2 install cxxflags="-arch i386 -arch x86"

这些步骤将 Boost 线程库安装到/usr/local/lib/(其标准位置)。生成的静态库是一个通用二进制文件。到现在为止还挺好。

$ lipo -i /usr/local/lib/libboost_thread.a
Architectures in the fat file: /usr/local/lib/libboost_thread.a are: i386 x86_64 
Run Code Online (Sandbox Code Playgroud)

然而,动态库似乎只针对 x86_64 进行了编译。

$ lipo -i /usr/local/lib/libboost_thread.dylib
Non-fat file: /usr/local/lib/libboost_thread.dylib is architecture: x86_64
Run Code Online (Sandbox Code Playgroud)

我也希望 .dylib 是通用的。有谁知道我如何为 i386 和 x86_64 编译它?

c++ boost boost-thread universal-binary osx-mountain-lion

5
推荐指数
1
解决办法
2430
查看次数

如何使用捆绑的 JRE 创建 mac 通用二进制文件?

我正在为 Mac 计算机创建一个 JAVA 桌面应用程序,使用 jpackage 将所需的 JRE 捆绑到该应用程序中,最后将 .app 发送给客户。

对于新的 m1 Apple Arm 硅计算机,我不想使用正确的 JRE(Intel 和 Arm)为每个处理器架构创建不同的应用程序,而是创建一个通用二进制应用程序,在 Intel 计算机上启动 Intel JRE,在 Arm 上启动 Arm JRE电脑。我知道这在某种程度上是可能的。

我尝试创建两个 .apps 并从 mac 命令行使用 lipo 工具,但这实际上不起作用。

有什么建议如何继续吗?

java macos universal-binary

5
推荐指数
1
解决办法
699
查看次数