2010-08-17 29 views
21

Bir süre sonra esas olarak .net geliştirme, çapraz platform şeklinde C++ çalışmam gerekir.Çapraz platform C++ geliştirme için görsel stüdyo nasıl oluşturulur

Görsel stüdyodan vazgeçmek istemiyorum, bu yüzden umudum görsel stüdyo ve pencere hedeflerini bir test kurumu olarak kullanmak mümkün oldu, ve sonra her defasında bir vm testi aracılığıyla kodlar linux veya mac üzerinde.

Bunu en iyi şekilde nasıl ayarlayacağınız konusunda tecrübesi olan var mı?

Özellikle proje dosyası gibi şeylerin, muhtemelen * nix platformlarında ihtiyaç duyulan dosyalarla eşzamanlı kalmasını sağladığınızdan emin olduğunuzu merak ediyorum.

+0

Mükemmel bir soru. Eclipse ve GDB'yi seviyorum.Ekran mülkiyeti, tek monitör, berbat yazıcı desteği, vb kötü kullanımı, ... uuugh. Windows sadece telekom uygulamaları için ihtiyaç duyduğum POSIX zamanlayıcı desteğine sahip değil ve üretim ortamımızın tamamı Linux, bu yüzden bir çözüm arıyordum. Aşağıda işaret ettiği WinGDB ve VisualGDB çözümleri MaHuJa'nın görünümünü beğendim, bu yüzden bunları araştıracak. 3+ yıl sonra sunabileceğin herhangi bir geri bildirim? – RocketRoy

cevap

14

Öncelikle, yönetilmeyen bir C++ projesi seçin (.net öğelerinden kaçınmak için).

Bundan sonra, uyarı seviyesini (/W3 yapmalı) açın ve yaptığınız/yazdığınıza çok dikkat edin. IMHO, GCC sizi standart (-Wall -Wextra -pedantic -std=c++11) ile düz tuttuğunuzda daha iyidir, ancak MSVC'yi belirtirsiniz.

Noah'ın dediği gibi, CMake gibi kendi içinde çapraz platformlu bir sisteme ihtiyacınız olacak (başkaları da var, lütfen bunu unutmayın).

yerine, std::size_t gibi std::(u)intptr_t vb platformu/mimari/derleyici bağımsız türlerini kullanmayı unutmayın düz int, long, unsigned: Bu bir felaket için tarifi ve Windows API etrafında çok fazla bu atar vardır.

Bkz. here, ancak yalnızca/özellikle noktaları 1, 2, 5 ve 8 (ve 9, ancak bunu svn, git, mercurial için genelleştirin). böylece eklentileri kullanımına izin veren, OLMAYAN EXPRESS varsa (3 yıl sonra ...)

+0

Harika tavsiyeler. Düzenli olarak test edip diğer platformlarda oluşturduğumdan emin olacağım. İlk kurulumun en uzun süreyi (lib'leri, makefilleri, vb. Yapılandırmayı) alacağını tahmin ediyorum ama sonuçta işler doğru bir şekilde aşağı doğru ilerliyor mu? – Toad

+0

Kodun büyük bir kısmını kodlayana ve varsayımınızın diğer platformda doğru olmadığını görene kadar :). Teorik olarak, derleme sistemi doğru (linker ile ilgili olarak: .lib/.dll (.dll) .a/.so andsoforth, yollar, platform algılama ...) – rubenvb

4

Özellikle proje dosyası gibi şeylerin, muhtemelen * nix platformlarında ihtiyaç duyulan dosyaların dosyaları ile eşzamanlı kalmasını sağladığınızdan emin olduğunuzu merak ediyorum. MS, MS'den makefiles desteğini kaldırmaya karar verdiğinden, bunu yapmazsınız. VS proje dosyalarını oluşturabilecek başka bir şey kullanırsınız ve BU ayarlarınızı doğru şekilde yaptığınızdan emin olun. CMake gibi bir şey.

+1

Visual Studio proje sistemindeki bağımlılığı kaldırmak için CMake kullanıyoruz. Güzel çalışır. http://www.cmake.org/ – David

+0

Bu yüzden, projeye yeni dosyalar eklendiğinde bunu cmake'den yapacağım ve sonra görsel stüdyomuzu başlatıyorum. – Toad

+0

@toad - daha fazla veya daha az, evet. VS 2005'ten önce veya daha önce makefiles veremedi. Açıkçası, çapraz platform geliştirme yapmak istiyorsanız, başka bir şeyle daha iyi durumdasınız. MS, mümkün olduğunca bu tür şeyleri caydırma eğilimindedir ve VS'de bunu yapmak neredeyse imkansız hale getirir. –

3

sonra size yardım etmek WinGDB ve VisualGDB gibi şeyler var.

Duckduckgo da bana oldukça eski olan make-it-so'u anlatıyor - ancak şu ana kadar bunlardan daha fazlası olabilir, çünkü yeni xml tabanlı proje formatlarıyla daha basit olması gerekiyor.

+0

Visual kullanmak istiyorum Studio Linux C/C++ kodunu ayıklamak için, bu bilet gibi görünüyor. Reklamı yapılan gibi çalışıyorsa milyonlarca kez teşekkürler. Hayatımı çok daha kolaylaştıracak. – RocketRoy

1

Bu 6 yıl önce eski bir sorudur, ama sadece Microsoft şimdi Visual Studio linux C++ ile çalışmak resmi araçlara sahip olduğunu işaret etmek istiyorum:

Ayrıca https://blogs.msdn.microsoft.com/vcblog/2016/03/30/visual-c-for-linux-development/

, Windows 10 şimdi, Windows içinde Linux 'u çalıştırmak için yeteneklere sahip, bu yüzden C + + 'da Linux için Visual Studio'da geliştirmekle ilgilenen herkes için hayatınızı çok daha kolay hale getirmelidir.

İlgili konular