2010-08-29 14 views
7

C++ 'da xcode'un komut satırı aracını kullanarak oyunun "Towers of Hanoi" nin basit bir sayı sürümünü tamamladım. Borland ve görsel-c gibi PC derleyicilerine alışmış olmakla, oyunu sadece xcode tarafından oluşturulmuş çalıştırılabilir ürünü ekleyerek e-posta yoluyla başkalarıyla paylaşmayı denedim. Ancak, alıcılar programı farklı bir biçimde göründüğü gibi çalıştıramazlar - genellikle makine kodu gibi görünür. Kapsamlı arama biraz sonra xcode'un C++ projesi için çalıştırılabilir ürün

, ben

Herkes nasıl oluşturulacağını bilmek vb XCode en IDE içinde bina projelerinin karmaşıklığını ve inşa ayarları/hedeflere varyasyonları fark ediyorum bir ++ yürütülebilir c kendine yeten evrensel olarak çalıştırmak için? Bu oyun için STL kütüphanesinin dışına çıkmam. Herhangi bir yardım için çok teşekkür ederim. Aynı OS nokta bültenleri genelinde

sayesinde

+1

Bu bir xcode sorusu gibi gelmiyor - e-postalar şeyleri karıştırıyormuş gibi geliyor - siz ve müşterileriniz hangi e-posta programı kullanıyorsunuz? – Mark

+0

Yahoo'yu kullanarak e-posta gönderiyorum, ancak eğer .exe dosyalarını sistemden kendi bilgisayarları üzerinden gönderdiğim için bir nedense şüpheliyim ... – NBG

cevap

0

Paylaşım uygulamaları (en azından kişisel deneyim gider kadarıyla) Mac üzerinde, oldukça zor olabilir. en az çaba ile başvurunuzu paylaşmak edebilmek amacıyla

, sen anlamaya gerekir: Bu Ne projesi tip

  • mı? Resimler vb. Gibi herhangi bir kaynak kullanıyor musunuz?
  • Arkadaşlarınızın hangi işletim sistemi kullandıkları? Mac'te değillerse, şansınız kalmadı (veya OS'leri için yeniden derleme yapmanız gerekecek).
  • Mac kullanıyorlarsa, aynı işletim sistemi sürümlerine sahip olduğunuzu kontrol edin, eğer Leopard üzerinde geliştirdiyseniz ve bir kişi SnowLeopard'da çalışıyorsa, uygulamanız başarısız olabilir. (Ayrıca Mac OS 10.5.4 ve 10.5.3 arasındaki sorunlara da rastladım, bu yüzden parmaklarınızı çapraz tutun.)
  • Hangi donanım türünde çalıştığınızı kontrol edin. Donanımınız için mi (sadece MacIntel) mi yoksa Universal Binary mi yaratıyorsunuz?
  • Tüm kaynakların uygulama grubunuza paketlendiğinden emin olun. Uygulamanızın yalnızca göreceli yolları kullandığından emin olun.
  • Özel klasörlere yazmama (örneğin, yalnızca temp ve/veya sözcük yazılabilir konumlarını kullanmanız gerekirse) kontrol edin.

ben nokta yanıta/Daha detaylı vermek isterdim ama ne yazık ki (siz alıyorsanız hata ile ilgili başka herhangi bir spesifik bilgi olmadan) cevaplar bazılarını kendi başınıza anlamaya gerekecek.

+0

Ben x ++ terimleri "komut satırı aracı" nı kullanırım. özellikle. Görüntü yok, sesler vb. Leopard OS'de çalışıyorum ve evrensel olmak için bir konsol programı oluşturmaya çalışırken sorun yaşamaz gibi görünmüyordu. Ve evet, evrensel bir ikili inşa etmeyi denedim. Bu, yeterli bağlam sağlar umuyoruz. Yardım için teşekkürler - bu yararlı şeyler. – NBG

5

OS X, çalıştırılabilir dosyalar olarak düz ikili dosyaları (yani dosya adı uzantısı yok) kullanan Unix'i temel alır. Belirli bir "yürütülebilir izin" varsa, yürütülebilir olarak çalıştırılmak üzere çift tıklanabilir veya komut satırından çalıştırılabilirler. Ancak, bu izin e-postayla gönderilemez - dosya sisteminin kendisinde meta veriler bulunur ve bu da güvenlik açısından mantıklıdır (spam göndericilerin sizi e-posta üzerinden doğrudan çalıştırılabilir virüslere göndermesini istemez misiniz?). Eğer gerçekten bir olarak paketlemek istiyorsanız

chmod +x /path/to/hanoi 

: Alıcı ikili aldığında Yani, onlar "Hanoi" ikili dosyanın adıdır varsayarak, üzerinde aşağıdaki komut satırı komutu çalıştırmak gerekir anında çift-tıklanabilir uygulama, bir yerli UI vermek ve bir .app olarak paketlemek gerekir, daha sonra dağıtmak için bir arşiv içinde .app (aslında .app uzantısı ile bir klasör) koymak. Üzgünüm, umduğunuzdan daha fazla iş varsa. Bu yardımcı olur umarım!

+0

Hayır, hayır, bu yararlı. Yine de, benim sorumun yanlış bir şekilde ifade edildiğini düşünüyorum; ya da en azından eksik. Belki de şu yolu sormalıyım: Çapraz platform uyumlu olması için basit bir metin tabanlı (grafik, ses, vb.) C++ oyununun derlenmesinin mümkün olup olmadığını biliyor musunuz? Özellikle, xcode'un bir konsolun bulunduğu herhangi bir yerde çalışacak bir ürünü nasıl derleyip kurabileceğini biliyor musunuz? Sorumu bilgisiz olabileceğinin farkındayım. Bilgilendirici yanıtlarınız için çok teşekkürler. – NBG

+0

Çapraz platformla, hem Mac hem de Windows'da kastediyorsanız, o zaman — Xcode'un Mac olmayan yürütülebilir dosyalar için bir derleyicisi yoktur. Ancak Mac OS X'in farklı sürümleri için çapraz derleme yapmak kesinlikle mümkün olmalıdır. –

+1

Gerçekten de Mac, Windows ve Linux için Xcode'dan derleme yapabilmeniz gerekiyorsa, Xcode'un herhangi bir programı çalıştırabilecek "özel oluşturma adımları" vardır. komut satırı komut dosyası. Daha sonra bir komut satırından çalışan bir çapraz derleyici araç zinciri kullanabilirsiniz. Örneğin, bkz. Http://lilypond.org/gub/ (bu kesinlikle aşırı derecede zor olsa da ve Mac'lerde bile çalışmayabilir, ancak bunun mümkün olduğunu göstermesi gerekir). Benim tavsiyem? Bir Windows ve/veya Linux makinesi bulun, C++ dosyalarınızı kopyalayın ve Windows/Linux için ayrı olarak derleyin. Kodunuzu Xcode'ta test edebilirsiniz. İyi şanslar! – btown

0

Çift tıklanabilir bir uygulama yerine bir komut satırı aracından memnunsanız, bunu sıkıştırmak ve e-postaya eklemeniz yeterlidir. Gönderdiğiniz herkes PowerPC tabanlı bir Mac kullanıyor olabilirse, evrensel oluşturduğunuzdan emin olun. Ah, ve dağıtım hedefini, herhangi bir alıcının kullandığı minimum işletim sistemine ayarlayın.

+0

Başlangıçta bunu denedim. Yahoo aracılığıyla gönderme, her seferinde bir "metin dosyası" üretir. Yeniden adlandırmayı, alternatif oluşturma (dağıtım, sürüm), boşuna denedim. Evet, şimdiye kadar sadece komut satırı aracı sürümünü yazdım. Grafik yok, sesler vb. sadece standart başlık içeren kod. Cevabınız için teşekkür ederiz. Yardımı gerçekten takdir ediyorum. – NBG

İlgili konular