私の問題を既に参照して解決しているポストを見たことがありますが、それは2年前にアクティブだったので使用しようとしましたが、 (多分Xcodeで違いか何か) ここでは、関連記事です:iOSアプリケーションのライブラリを無視してシミュレータ用にコンパイル
Making Xcode ignore static library when building for iOS Simulator
Xcode: Conditional Build Settings based on architecture (Device (ARM) vs Simulator (i386))
私はvuforia、C++ライブラリで動作するプロジェクトを持っていますが、このライブラリはシミュレータと互換性がありません。私は私のアプリの他の機能をテストするために(たとえlibを使っている部分が明らかに動作しなくても)シミュレータのプロジェクトをコンパイルしたいと思う。
ヘッダ検索パス:../../build/include
ライブラリ検索パス:../../build/私のビルド設定で
は、私はこれを持っていましたlibに/アーム
私はポストに続いその他のリンカフラグ
に何も持っていなかった、私はlibにexclusiを削除しようとしました私は現在、以下を持っています: コンパイルエラーが変化し、libを使用するビューコントローラの1つに「Vuforia/Vuforia.h file not found」が表示されます。
だから私はそれの世話をした、と私はそれはそれの多くが、1つのエラーのために働くプリプロセッサ命令
#if !(TARGET_OS_SIMULATOR)
....
#endif
を追加しましたが
上に示したように、それはブロック内にある場合でも、まだそこにあります私も その他のリンカフラグでプレイしようとしたが、それは解決しない終わり#if !(TARGET_OS_SIMULATOR)
#import <QuartzCore/QuartzCore.h>
#import <OpenGLES/ES2/gl.h>
#import <OpenGLES/ES2/glext.h>
#import <sys/time.h>
#import <Vuforia/Vuforia.h>
#import <Vuforia/State.h>
#import <Vuforia/Tool.h>
#import <Vuforia/Renderer.h>
#import <Vuforia/TrackableResult.h>
#import <Vuforia/VideoBackgroundConfig.h>
...
#endif
...
あなたがFに私を助けることができますどのようにiOSデバイス専用のライブラリをバインドし、シミュレータ上でアプリケーションを実行するか?
ありがとうございます!
次のようなxcconfigを使って簡単にこれを行うことができます:私はそれを試したが、私はまだ同じエラーがある、私はリンクが良いと思う:それは私がiPhoneをターゲットにコンパイルし、シミュレータのエラーは 'Vuforia/Vuforia.h'ファイルが見つかりませんです。これは、シミュレータのリンク解除が機能するためです。上記のようなTargetConditionals.hを使用すると、問題が発生します。私はそれを試してみましたendifを定義し、値がiPhone上で良いので、それは動作するはずです、そして、複数のファイルでTargetConditionalsを使用している間、エラーは1つのファイルのためです... – zarghol
あなたが 'シミュレータ用にコンパイルするときに「ファイルが見つかりません」というエラーが表示された場合、TARGET_OS_SIMULATOR条件付きのインクルードを正しく保護していません。 –
私はそれを見つけました! #if(TARGET_OS_SIMULATOR)を使用するたびに、TARGET_OS_SIMULATORに.hを含めなかったためです。それは今働いている!ありがとう! – zarghol