問題タブ [universal-binary]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - Mac OS Xで静的ライブラリ(.a)のターゲットアーキテクチャを決定するにはどうすればよいですか?
特定のiPhone静的ライブラリがARMまたはIntel用に構築されているかどうかを確認することに興味があります。
それは何よりも好奇心です。これを行うためのMacOSXまたはBSD固有のツールはありますか?この投稿はLinuxでの例を示しています。
xcode - 2 つのアプリから「ユニバーサル バイナリ」を作成しますか?
短い質問: intel 用と ppc 用の 2 つのアプリをどのようにして 1 つの Universal Binary にパッケージ化しますか?
この問題に関する私の現在の考え:
ユニバーサルバイナリに関するアップル開発者向けドキュメントを読みましたが、答えを見つけることができなかったため、不可能な場合があります。
ここには立ち入らない理由により、私のプログラムには 2 つのアプリがあります (xtools を使用してバイナリを一度コンパイルする必要があります)。リソースの共有は問題ではありません。
MyProg_intel.app と MyProg_ppc.app の両方を 1 つの zip に入れ、そのように配布することができました。しかし、それは私のプログラムを配布しようとしている多くの人々にとって混乱を招くかもしれません。
java - Javaでユニバーサルバイナリをロードする
JNIを介してネイティブコードをロードするJavaアプレットがあります。Snow Leopardにアップグレードするまではすべて問題なく動作し、その後Safariは馬鹿げていると判断しました。Safariは、64ビットモードの場合にのみ64ビットバイナリをロードすることがわかりました。(32ビットモードにすることはできますが、それはオプションではありません。)ビルドシステム(g ++)を変更して、単一の32ビットバイナリではなくユニバーサルバイナリのビルドをサポートするようにしました。ユニバーサルバイナリを正常に作成しましたが、アプレットにロードしようとすると、適切な画像が見つからず、マップできないという不満足なリンク例外が発生します。誰かがこれに以前に対処したことがありますか?
追加情報について...ターミナルで「filenative.dylib」と入力すると、元の32バイナリは次のように出力されました。Mach
-O動的リンク共有ライブラリi386
そして、ユニバーサルバイナリに対して同じことをしたとき、次のようになりました
。native.dylib:2つのアーキテクチャを持つMach-Oユニバーサルバイナリ
native.dylib(アーキテクチャi386の場合):Mach-Oオブジェクトi386
native.dylib(アーキテクチャの場合x86_64
): Mach-O64ビットオブジェクトx86_64
python - OSXユニバーサルバイナリを32ビットモードで実行する
私はサードパーティのライブラリ(Xeroxの有限状態ツールへのインターフェイス)を持っています。これは、内部に2つのバリアント(PPCとi386バリアント)を持つユニバーサルバイナリとして提供されます。ライブラリへのPythonインターフェースもあります(ctypesを使用します)。
しかし、Pythonインターフェースで提供されているサンプルコードを実行しようとすると、ライブラリが間違ったアーキテクチャであるというエラーが発生します。
ImportError:dlopen(/Users/arne/sw/lib/libxcfsm.dylib、10):適切な画像が見つかりません。見つかりました:
/Users/arne/sw/lib/libxcfsm.dylib:mach-o、しかし間違ったアーキテクチャ
私が収集できることから、これは、Python実行可能ファイルが私のライブラリの2つのバージョンに加えて内部的にx86_64バリアントを持っており、そのモードで実行することを好むためです。一部のスクリプトについて、Python実行可能ファイルにx86_64バージョンではなくi386バージョンを開始させる方法はありますか?
macos - Boost:Boost用のMacOSXバイナリ
Boost用のMacOSXユニバーサルバイナリ(>=macosx10.3の場合は少なくともi386/ppc)はありますか?
macos - MAC上のCプログラムのRUN時にCPUタイプをチェック
C プログラムは、(コンパイル時ではなく) 実行時に、リトル エンディアンまたはビッグ エンディアンのどちらの CPU で実行されているかをどのように判断しますか?
「コンパイル時」ではなく「実行時」チェックでなければならない理由は、Intel-CPU を搭載した MAC を使用して、MAC OSX のユニバーサル バイナリ形式でプログラムをビルドしているためです。そして、このプログラムは Intel と Power-PC の両方の CPU で動作することが期待されています。つまり、MAC 上の Universal Binary フォーマットを通じて、Intel-CPU を使用してプログラムを構築し、それを PPC CPU で実行したいと考えています。
CPU チェックを必要とする私のプログラムのロジックは、64 ビット整数のホストからネットワークへのバイト順変更関数です。現在、インテル CPU では問題なく動作しますが、PPC では機能しません。C関数は次のとおりです。
クロスプラットフォームの方法でこれを行うより良い方法はありますか?
ありがとう
python - Mac 10.6 Universal Binary scipy: cephes/specfun "_aswfa_" シンボルが見つかりません
i386/x86_64 ユニバーサル バイナリとしてコンパイルし、64 ビット 10.6.2 MacPro1,1 で実行すると、32 ビット モードで scipy を機能させることができません。
私のpythonセットアップ
この回答の助けを借りて、arch
コマンドを使用してアーキテクチャを選択することを意図して、Python 2.6.4 の 32/64 ビット Intel ユニバーサル バイナリを作成しました。(リポを使用して、必要ないくつかのライブラリのユニバーサル バイナリを作成することができました。) すべてが機能します。次に、 hyperjeff の記事の指示に従って scipy をインストールしましたが、より最新の numpy (1.4.0) のみを使用し、scipy のインストール中に numpy を一時的に脇に移動することについて少しスキップしました。
現在、私が知る限り、scipy 以外のすべてが機能しているようで、実際に と を使用して 32 ビット モードと 64 ビット モードを選択できarch -i386 python
ますarch -x86_64 python
。
エラー
Scipy は 32 ビットモードで文句を言います:
問題の追跡を試みる
scipy.interpolate が と呼ばれるものをインポートするように見えます。_cephes
これは と呼ばれるシンボルを_aswfa_
探しますが、32 ビット モードでは見つかりません。scipy のソースをブラウズするとASWFA
、specfun.f にサブルーチンが見つかります。同様の名前を持つ唯一の scipy 製品ファイルは specfun.so ですが、それと _cephes.so の両方がユニバーサル バイナリのようです。
うーん。私は立ち往生しています。私が試すかもしれないが、まだspecfun.soを手動でコンパイルする方法をまだ理解していない.
すべての 32 ビット マシンで scipy が壊れているわけではないと思うので、インストール方法に問題があると思いますが、何が原因かわかりません。
私のかなりユニークな(?)セットアップを考えると、完全な答えは期待できませんが、誰かが私を正しい方向に向ける手がかりを持っているなら、彼らは大歓迎です.
(編集)質問に対処するための詳細:
gfortran (GCC 4.2.1 Apple Inc. ビルド 5646 の GNU Fortran) を使用しています。
Python 2.6.4 は多かれ少なかれ次のようにインストールされました。
Scipy 0.7.1 はほぼここで説明したとおりにインストールされましたが、簡単に言えばsudo python setup.py install
.
nm
David Cournapeau が示唆するように、_cephes ライブラリを で見ると、i386 アーキテクチャではシンボルが定義されていないように見えます。
ただし、その不在についてはまだ説明できません。
c++ - ダイナミックライブラリを使用してXcodeでOSX10.4、10.5、および10.6用のC++を構築する方法
XcodeでC++コマンドラインツールを構築しています。プロジェクトには、curl、boost、log4cppのdylibが含まれています。
理想的には、10.4から10.6までをサポートするi386ユニバーサルバイナリを構築するのが好きです。
Xcodeをコンパイルできないようです。10.4をターゲットにすると、そのようなファイルやディレクトリがないなどと表示されます。
10.6 x_64をターゲットにすると、ビルドは正常になりますが、10.5 i386は、dylibが10.5の正しいアーキテクチャではないことについて不平を言いますか?
どのバージョンのGCCを使用する必要がありますか?
また、PackageMakerを使用してインストールパッケージを作成する場合、インストーラーはツールに必要なdylibをどこに配置する必要がありますか?
よろしくお願いします、トビー。
iphone - 別の静的ライブラリを含む armv6 および armv7 用の iPhone 静的ライブラリの構築
「マスター」スタティック ライブラリ ターゲットを持つ Xcode プロジェクトがあります。これには、他の Xcode プロジェクトの他のスタティック ライブラリの束が含まれています。
「Optimized (armv6 armv7)」のマスター ライブラリ ターゲットをビルドすると、CreateUniversalBinary ステップ中の最後のフェーズでエラーが発生します。マスター ライブラリに含まれるライブラリの .o ファイルごとに、次のエラーが報告されます (たとえば、FBConnectGlobal.o ファイル)。
最後に、Xcode はビルドが成功したことを通知します。ただし、アプリケーション プロジェクトで最終スタティック ライブラリを使用すると、ビルドの一部 (armv6) で重複するシンボルが検出され、ビルドの他の部分 (armv7) でシンボルが見つからないため、ビルドされません。
これを修正する方法はありますか?
M
iphone - 別々のiPad/iPhoneターゲットをユニバーサルアプリに変える
ユニバーサルアプリケーションを開始したとき、1つのターゲットオプションは手間がかかりすぎると思ったので、別のターゲットを選択しました。アプリのiPad部分を作成する途中で、ユニバーサルアプリケーションを作成する方が簡単だと気づきました。問題は、Appleのオプションを使用して、iPhoneターゲットをUniversalに変換できないことです。これは、すでに個別のターゲットが存在するためです。iPhoneターゲットをユニバーサルにアップグレードできる回避策はありますか?