これは私のprevious questionと密接に関連しています。これはCMakeを使ってiPhone上に静的ライブラリを構築することでした。私はCMAKE_OSX_SYSROOT
の設定作業をしました。iPhone用のアプリケーションをビルドするCMakeを設定する方法
ただし、これはアプリを構築するためには機能しません。
project(TEST)
set(CMAKE_OSX_SYSROOT iphoneos2.2.1)
set(CMAKE_OSX_ARCHITECTURES "$(ARCHS_STANDARD_32_BIT)")
set(CMAKE_EXE_LINKER_FLAGS
"-framework Foundation -framework OpenGLES -framework AudioToolbox -framework CoreGraphics -framework QuartzCore -framework UIKit -framework OpenAL"
)
set(SRC --my files--)
add_executable(iphone-test MACOSX_BUNDLE ${SRC})
いくつかの注意事項:私は明示的にfind_library
は、フレームワークのすべてのために動作しませんでしたので、-framework
リンクするオプションを与えている
- (それはそれらのほとんどを見つけましたが、私の
CMakeLists.txt
は次のようになりますいいえ。OpenGLES
)。彼らはすべて同じフォルダにあるので、私は理由を理解していません${SDK}/System/Library/Frameworks
。これは、私が何か間違っていると信じるように導くが、私は何が分からない。 add_executable
コマンドにMACOSX_BUNDLE
を追加して、生成された製品タイプがcom.apple.product-type.tool
の代わりにcom.apple.product-type.application
になるようにしました。これは明らかにiPhoneには存在しません。いずれの場合においても
、アプリがコンパイルとリンクが正しく、私はシミュレータでそれを実行すると、私は恐ろしい
Failed to launch simulated application: Unknown error.
はグーグルとstackoverflowの上でこの問題の報告事例がたくさんあります取得しますしかし、すべてのソリューションには、クリーンアップや新しいプロジェクトの作成、ファイルの移動が含まれます。私はCMakeがその仕事をした後に新鮮なコピーを集めているので、それは当てはまりません。
私はthis threadをCMakeメーリングリストで見つけましたが、図書館の構築に成功したことを報告してからはじめて出てきます。
あなたの答えは非常に役に立ちました - 私はCMakeとXcodeで本当に迷っていました。私はCMakeListsファイルの少し修正したバージョンを使ってみました。しかし、私はいくつかの奇妙な問題に遭遇しました。おそらく私の質問を見てもらえますか? http://stackoverflow.com/questions/5473448/cmake-and-xcode-cannot-find-interface-declaration-for-nsobject事前に感謝:) – Shade
リソースのために別の方法があります。こちらをご覧ください:http: /cmake.org/gitweb?p=cmake.git;a=blob;f=Tests/iOSNavApp/CMakeLists.txtしかし、これはディレクトリ階層を削除するので、重複するファイル名は問題になります。 –