Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Visual Studio 2022, Linux için Windows Alt Sistemi sürüm 2 (WSL 2) geliştirme için yerel bir C++ araç takımını tanıtır. Bu araç takımı artık Visual Studio 2022 sürüm 17.0 veya üzeri sürümlerde kullanılabilir.
WSL 2, Linux için Windows Alt Sistemi (WSL) için önerilen yeni sürümdür. Daha iyi Linux dosya sistemi performansı, GUI desteği ve tam sistem çağrısı uyumluluğu sağlar. Visual Studio WSL 2 araç takımı, SSH bağlantısı eklemeden WSL 2 dağıtımlarında C++ kodu derlemek ve hatalarını ayıklamak için Visual Studio kullanmanıza olanak tanır. Visual Studio 2019 sürüm 16.1'de kullanıma sunulan yerel WSL 1 araç takımını kullanarak WSL 1 dağıtımlarında C++ kodu derleyebilir ve hatalarını ayıklayabilirsiniz.
Visual Studio WSL 2 araç takımı hem CMake hem de MSBuild tabanlı Linux projelerini destekler. CMake, Visual Studio ile tüm C++ platformlar arası geliştirme için önerimizdir. Windows, WSL ve uzak sistemlerde aynı projeyi derleyip hatalarını ayıkladığı için CMake'i öneririz.
Bu konudaki bilgilerin video sunusu için bkz.
WSL 2 araç seti arka plan
Visual Studio'daki C++ platformlar arası destek, tüm kaynak dosyaların Windows dosya sisteminden kaynaklandığını varsayar. WSL 2 dağıtımını hedeflerken, Visual Studio dosyaları Windows dosya sisteminden WSL dosya sistemine kopyalamak için yerel bir rsync komutu yürütür. Yerel rsync kopya herhangi bir kullanıcı müdahalesi gerektirmez. Visual Studio bir WSL 2 dağıtımı kullandığınızı algıladığında otomatik olarak gerçekleşir. WSL 1 ile WSL 2 arasındaki farklar hakkında daha fazla bilgi edinmek için bkz . WSL 1 ile WSL 2 Karşılaştırması.
Visual Studio'daki CMake Önayarları entegrasyonu, WSL 2 araç takımı destekler. Daha fazla bilgi edinmek için bkz. Visual Studio ve Visual Studio Code'da CMake Presets tümleştirmesi ve Visual Studio'da CMake Ön Ayarları ile yapılandırma ve derleme. Bu makalede Gelişmiş WSL 2 ve CMake projeleriyle ilgili dikkat edilmesi gerekenler bölümünde daha gelişmiş bilgiler de bulunmaktadır.
Derleme araçlarını yükleme
WSL 2'de derlemek ve hata ayıklamak için gereken araçları yükleyin. sonraki bir adımda Visual Studio CMake ikili dağıtımını kullanarak CMake'in son sürümünü yüklersiniz.
WSL'yi yükleme başlığındaki yönergeleri izleyerek WSL ve WSL 2 dağıtımı yükleyin.
Visual Studio yükleyicisinde Linux için
C++ CMake araçlarının yüklü olduğunu doğrulayın. Bunu yapmak için Visual Studio sürümünüz için Modify seçin. Tek tek bileşenler sekmesinde Linux ve Mac için C++ CMake araçlarını arayın ve seçili ve yüklü olduğundan emin olun. WSL yüklemelerinizi algılamak için Visual Studio için bu bileşen gereklidir. Dağıtımınızın kullandığı
aptvarsayılarak (bu kılavuzda Ubuntu kullanılır), WSL 2 dağıtımınıza gerekli derleme araçlarını yüklemek için aşağıdaki komutları kullanın:sudo apt update sudo apt install cmake g++ gdb make ninja-build rsync zipHangi yükleme:
- C++ derleyicisi
gdbCMakersynczip- Derleme sistemi oluşturucu temel bileşen
WSL 2 dağıtımı ile platformlar arası CMake geliştirme
Bu kılavuzda Ubuntu üzerinde GCC ve Ninja kullanılır. Visual Studio 2022 sürüm 17.0 Önizleme 2 veya sonrası.
Visual Studio, bir CMake projesini proje kökünde CMakeLists.txt dosyası olan bir klasör olarak tanımlar. Bu kılavuzda, Visual Studio CMake Project şablonunu kullanarak yeni bir CMake project oluşturacaksınız:
Visual Studio Başla ekranından Yeni proje oluştur öğesini seçin.
Kullanılabilir seçenekler şunlardır: Depo kopyalama, Proje veya çözüm açma, Yerel klasör açma, Yeni proje oluşturma veya Kod olmadan devam etme.":::Şablon ara metin kutusuna "cmake" yazın. CMake Project türünü seçin ve İleri'yi seçin. Projeye bir ad ve konum verin ve oluştur'u seçin.
Visual Studio CMake Presets entegrasyonunu etkinleştirin. Araçlar>Seçenekler>CMake>Genel. Yapılandırma, derleme ve test için CMake Ön Ayarlarını kullanmayı tercih et'i ve ardından Tamam'ı seçin. Alternatif olarak, projenin köküne bir
CMakePresets.jsondosya ekleyebilirsiniz. Daha fazla bilgi için CMake Ön Ayarları tümleştirmesini etkinleştirme ifadesine bakın.
CMake yapılandırma dosya grubunda , 'Varsa CMake Önayarlarını kullan, aksi takdirde CMakeSettings.json kullan' ifadesi çağrılır ve seçilir.
Tümleştirmeyi etkinleştirmek için: Ana menüden Dosya>Klasörü Kapat öğesini seçin. Başlarken sayfası görüntülenir. Son Açılanlar'ın altında, yeni kapatmış olduğunuz klasörü seçerek klasörü tekrar açın.
Visual Studio'nun ana menü çubuğunda üç adet açılır menü bulunmaktadır. Etkin hedef sisteminizi seçmek için soldaki açılan listeyi kullanın. Bu, projeyi yapılandırmak ve derlemek için CMake'nin çağrıldığı sistemdir. Visual Studio,
wsl -l -vile WSL yüklemelerini sorgular. Aşağıdaki görüntüde WSL2: Ubuntu-20.04 Hedef Sistem olarak seçilmiş olarak gösterilir.
Not
Visual Studio projenizi otomatik olarak yapılandırmaya başlarsa, CMake ikili dağıtımını yönetmek için 11. adımı okuyun ve aşağıdaki adıma geçin. Bu davranışı özelleştirmek için bkz . Otomatik yapılandırma ve önbellek bildirimlerini değiştirme.
Etkin yapılandırma ön ayarınızı seçmek için ortadaki açılır listeyi kullanın. Visual Studio'ya CMake'i nasıl kullanacağını ve temel derleme sistemini nasıl üretmesi gerektiğini söyleyen ön ayarları yapılandırın. 7. adımda etkin Yapılandırma Ön Ayarı, Visual Studio tarafından oluşturulan linux-default Ön Ayarıdır. Özel bir yapılandırma hazır ayarı oluşturmak için Yapılandırmaları Yönet… öğesini seçin. Ön ayarları yapılandırma hakkında daha fazla bilgi için Yapılandırma Hazır Ayarı Seç ve Ön Ayarları Düzenle bölümlerine bakın.
Etkin Derleme Ön Ayarınızı seçmek için sağdaki açılan listeyi kullanın. Derleme Ön Ayarları, Visual Studio derlemenin nasıl çağrılılacağını bildirir. 7. adımdaki çizimde etkin Derleme Ön Ayarı, Visual Studio tarafından oluşturulan Default Derleme Ön Ayarı'dır. Derleme Ön Ayarları hakkında daha fazla bilgi için bkz Bir Derleme Ön Ayarı Seçme.
WSL 2'de projeyi yapılandırın. Proje oluşturma otomatik olarak başlatılmazsa, Proje>Yapılandırproje-adı ile yapılandırmayı manuel olarak çağırın.
WSL 2 dağıtımınızda desteklenen bir CMake sürümü yüklü değilse Visual Studio ana menü şeridinin altında sizden CMake'nin son sürümünü dağıtmanızı ister. CMake ikili dosyalarını WSL 2 dağıtımınıza dağıtmak için Evet'i seçin.
Kullanıcıya en son CMake ikili dosyalarının CMake'ten yüklenip yüklenmeyeceği sorulur. CMake'in desteklenen sürümü yüklü olmadığından dolayı kuruluş gerçekleştirilemiyor.
Yapılandırma adımının tamamlandığını ve CMake bölmesinin altındaki Çıkış penceresinde CMake oluşturma tamamlandı iletisini görebildiğinizi onaylayın. Derleme dosyaları WSL 2 dağıtımının dosya sistemindeki bir dizine yazılır.
Etkin hata ayıklama hedefini seçin. Hata ayıklama açılan menüsünde proje için kullanılabilen tüm CMake hedefleri listelenir.
Çözüm Gezgini içindeki proje alt klasörünü genişletin.
CMakeProject.cppdosyasında,main()noktasında bir kesme ayarlayın. Aşağıdaki ekran görüntüsünde vurgulanan Çözüm Gezgini içindeki Görünüm Seçicisi düğmesini seçerek de CMake hedefleri görünümüne gidebilirsiniz:
Hata Ayıklama>Başlat'ı seçin veya F5 tuşuna basın. Projeniz derlenir, yürütülebilir dosya WSL 2 dağıtımınızda başlatılır ve Visual Studio kesme noktasında yürütmeyi durdurur. Programınızın çıkışı (bu örnekte,
"Hello CMake.") Linux Konsol Penceresi'nde görünür:
Visual Studio Linux konsol penceresinde programın çıkışı görüntülenir: 'Hello C Make.' Düzenleyici penceresinde hello world programı gösteriliyor. Yürütme, 0 döndür yazan satırdaki bir kesme noktasında durduruldu."
Şimdi WSL 2 ve Visual Studio 2022 ile bir C++ uygulaması oluşturdunuz ve hata ayıkladiniz.
Gelişmiş WSL 2 ve CMake projelerinde dikkat edilmesi gerekenler
Visual Studio yalnızca etkin yapılandırma dosyası olarak CMakePresets.json kullanan CMake projeleri için WSL 2 için yerel destek sağlar.
CMakeSettings.json'den CMakePresets.json'e geçiş yapmak için, Visual Studio'da CMake Önayarları tümleştirmesini etkinleştirme bölümüne bakın.
Bir WSL 2 dağıtımını hedeflediyseniz ve WSL 2 araç takımını kullanmak istemiyorsanız, CMakePresets.json içindeki Visual Studio Uzak Ayarlar satıcı haritasında forceWSL1Toolset değerini true olarak ayarlayın. Daha fazla bilgi için bkz. Visual Studio Uzak Ayarlar satıcı haritası.
forceWSL1Tooslettrue olarak ayarlanırsa, Visual Studio kaynak dosyalarınızın bir kopyasını WSL dosya sisteminde tutmaz. Bunun yerine, bağlı Windows sürücüsündeki (/mnt/...) kaynak dosyalara erişir.
Çoğu durumda, proje dosyaları Windows dosya sisteminde depolandığında WSL 2 daha yavaş olduğundan WSL 2 araç takımını WSL 2 dağıtımlarıyla kullanmak en iyisidir. WSL 2'deki dosya sistemi performansı hakkında daha fazla bilgi edinmek için bkz . WSL 1 ve WSL 2'yi Karşılaştırma.
WSL 2'de projenin kopyalandığı dizinin yolu, kaynak kopyalama seçenekleri ve rsync komut bağımsız değişkenleri gibi gelişmiş ayarları, CMakePresets.json Visual Studio Uzak Ayarlar satıcı haritasında belirtin. Daha fazla bilgi için bkz. Visual Studio Uzak Ayarlar satıcı haritası.
Sistem üst bilgileri, yerel IntelliSense deneyimini sağlamak için Windows dosya sistemine otomatik olarak kopyalanır. Visual Studio Uzak Ayarlar satıcı haritasındaki CMakePresets.json'de, bu kopyada yer alan veya dışlanan başlıkları özelleştirebilirsiniz.
CMakePresets.json'daki Visual Studio Ayarları satıcı haritasında IntelliSense modunu değiştirebilir veya diğer IntelliSense seçeneklerini belirtebilirsiniz. Satıcı haritasıyla ilgili ayrıntılar için bkz. Visual Studio Uzak Ayarlar satıcı haritası.
WSL 2 ve MSBuild tabanlı Linux projeleri
CMake, Visual Studio ile tüm C++ platformlar arası geliştirme için önerilir çünkü Windows, WSL ve uzak sistemlerde aynı projeyi derlemenize ve hatalarını ayıklamanıza olanak tanır.
Ancak MSBuild tabanlı bir Linux projeniz olabilir.
MSBuild tabanlı bir Linux projeniz varsa, Visual Studio'da WSL 2 araç takımına yükseltebilirsiniz. Çözüm Gezgini'nde projeye sağ tıklayın, ardından Özellikler>Genel>Platform Araç Seti'ni seçin:
Visual Studio'da Platform Araç Takımı'nın seçili olduğu bir açılır listenin ekran görüntüsü ve sağda WSL2 Araç Takımı'nın seçili olduğu başka bir açılır liste.
WSL 2 dağıtımını hedeflediyseniz ve WSL 2 araç takımını kullanmak istemiyorsanız, ardından /mnt/...) üzerinden kaynak dosyalara erişir. Sistem üst bilgileri, yerel bir IntelliSense deneyimi sağlamak için Windows dosya sistemine otomatik olarak kopyalanır. Özellik Sayfaları altında, Genel sekmesindeki, bu kopyaya dahil edilecek veya hariç tutulacak başlıkları özelleştirin.
Çoğu durumda, proje dosyaları Windows dosya sisteminde depolandığında WSL 2 daha yavaş olduğundan WSL 2 araç takımını WSL 2 dağıtımlarıyla kullanmak en iyisidir. Daha fazla bilgi edinmek için bkz . WSL 1 ve WSL 2'yi karşılaştırma.
Ayrıca bkz.
İndir Visual Studio 2022
Tutorial: Uzak Windows makinesinde CMake projesinde hata ayıklama