Bu, iPhone üzerinde statik bir kitaplık oluşturmak için CMake kullanma ile ilgili olan previous question ile yakından ilişkilidir. Bunu CMAKE_OSX_SYSROOT
ayarını yapmaya çalıştım. Bununla birlikte, bu bir uygulama oluşturmak için işe yaramamaktadır.iPhone için bir uygulama oluşturmak için CMake nasıl kurulur
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})
Birkaç notlar: Ben açıkça find_library
çerçeveler tamamı için işe yaramadı çünkü -framework
bağlama seçeneği veriyorum
- (Bu çoğu bulundu, ancak My
CMakeLists.txt
benziyorOpenGLES
). Nedenini anlamadım çünkü hepsi aynı klasörde${SDK}/System/Library/Frameworks
. Bu, yanlış bir şey yaptığımı düşünmeme yol açıyor, ama ne olduğunu bilmiyorum. add_executable
komutuna eklendim, bu nedenle üretilen ürün türü, iPhone'da görünüşte bulunmayancom.apple.product-type.tool
yerinecom.apple.product-type.application
olacaktır. Her durumda
, uygulama derler ve bağlantıları doğru ama simülatörde çalıştırdığınızda, ben korkunç
Failed to launch simulated application: Unknown error.
google ve stackoverflow bu sorunun bildirimlerini çok var olsun Ancak, çözümlerin tümü yeni bir projenin ve hareketli dosyaların temizlenmesini veya oluşturulmasını içerir; fakat CMake çalışmasının ardından yeni bir kopyasını derledim, bu yüzden hiçbiri geçerli değil.
CMake posta listesinde this thread buldum, ancak yalnızca bir kitaplık oluşturmanın başarısını bildiriyor ve sonra da pazarlık yapıyor.
Cevabınızı çok faydalı buldum - CMake ve Xcode ile gerçekten kayboldum. CMakeLists dosyanızın biraz değiştirilmiş bir sürümünü kullanmayı denedim. Ancak bazı garip problemlere rastladım. Belki de soruma bir bakar mısınız? http://stackoverflow.com/questions/5473448/cmake-and-xcode-cannot-find-interface-declaration-for-nsobject Şimdiden teşekkürler :) – Shade
Şimdi kaynakların başka bir yolu var, buraya bakın: http://cmake.org/gitweb?p=cmake.git;a=blob;f=Tests/iOSNavApp/CMakeLists.txt Bununla birlikte, bu dizin hiyerarşisini kaldırır, bu nedenle çift dosya adlarını bir sorun haline getirirsiniz ... –