Aracılığıyla paylaş


Visual Studio'da Linux MSBuild C++ projesi yapılandırma

Linux desteği Visual Studio 2017 ve sonraki sürümlerde kullanılabilir.

Bu konuda , Visual Studio'da Linux MSBuild C++ projesi oluşturma bölümünde açıklandığı gibi MSBuild tabanlı bir Linux projesinin nasıl yapılandırıldığı açıklanır. Linux CMake projeleri için bkz. Linux CMake projesi yapılandırma.

Bir Linux projesini fiziksel bir Linux makinesini, sanal makineyi veya Linux için Windows Alt Sistemi (WSL) hedeflemek için yapılandırabilirsiniz.

Visual Studio 2019 sürüm 16.1 ve üzeri:

  • WSL'yi hedeflediğinizde, uzak bir Linux sistemini hedeflerken gerekli olan IntelliSense'i oluşturmak ve almak için gereken kopyalama işlemlerinden kaçınabilirsiniz.

  • Derleme ve hata ayıklama için ayrı Linux hedefleri belirtebilirsiniz.

Genel ayarlar

Yapılandırma seçeneklerini görüntülemek için Proje > Özellikleri menüsünü seçin veya Çözüm Gezgini'da projeye sağ tıklayın ve bağlam menüsünden Özellikler'i seçin. Genel ayarlar görüntülenir.

Özellik Sayfaları iletişim kutusunun Genel yapılandırma ekran görüntüsü.

Varsayılan olarak yürütülebilir (.out) oluşturulur. Statik veya dinamik bir kitaplık oluşturmak veya var olan makefile'ı kullanmak için Yapılandırma Türü ayarını kullanın.

Linux için Windows Alt Sistemi (WSL) için oluşturuyorsanız, WSL Sürüm 1 64 paralel derleme işlemiyle sınırlıdır. Bu, C/C++ > Genel Yapılandırma özellikleri'ndeki >Maksimum Paralel Derleme İşleri ayarına tabidir.

Kullandığınız WSL sürümüne bakılmaksızın, 64'ten fazla paralel derleme işlemi kullanmayı planlıyorsanız, ninja ile derlemenizi öneririz; bu genellikle daha hızlı ve daha güvenilir olacaktır. Ninja ile derlemek için Yapılandırma özellikleri > Genel bölümündeki Artımlı Derlemeyi Etkinleştir ayarını kullanın.

Özellik sayfalarındaki ayarlar hakkında daha fazla bilgi için bkz . Linux Projesi Özellik Sayfası Başvurusu.

Uzak ayarlar

Uzak Linux bilgisayarıyla ilgili ayarları değiştirmek için Genel altında görünen uzak ayarları yapılandırın.

  • Uzak hedef Linux bilgisayar belirtmek için Uzak Derleme Makinesi girdisini kullanın. Bu, daha önce oluşturulan bağlantılardan birini seçmenize olanak sağlar. Yeni bir giriş oluşturmak için Uzak Linux Bilgisayarınıza Bağlanma bölümüne bakın.

    Uzak Derleme Makinesi'ni gösteren ekran görüntüsü.

    Visual Studio 2019 sürüm 16.7 ve üzeri: Linux için Windows Alt Sistemi (WSL) hedeflemek için Platform Araç Takımı açılan listesini Linux için Windows Alt Sistemi için GCC olarak ayarlayın. Diğer uzak seçenekler kaybolur ve varsayılan WSL kabuğunun yolu onların yerine görünür:

    WSL derleme makinesini gösteren ekran görüntüsü.

    Yan yana WSL yüklemeleriniz varsa, burada farklı bir yol belirtebilirsiniz. Birden çok dağıtımı yönetme hakkında daha fazla bilgi için bkz. Linux için Windows Alt Sistemi yönetme ve yapılandırma.

    Yapılandırma Özellikleri>Hata Ayıklama sayfasında hata ayıklama için farklı bir hedef belirtebilirsiniz.

  • Uzak Derleme Kök Dizini, projenin uzak Linux bilgisayarda oluşturulduğu kök konumu belirler. Bu, değiştirilmedikçe varsayılan olarak ~/projects olarak ayarlanır.

  • Uzaktan Derleme Proje Dizini, bu belirli projenin uzak Linux bilgisayarda oluşturulacağı yerdir. Bu varsayılan olarak $(RemoteRootDir)/$(ProjectName) olarak ayarlanır ve bu, yukarıdaki kök dizin kümesi altında geçerli projenin adını taşıyan bir dizine genişletir.

Not

Varsayılan C ve C++ derleyicilerini veya projeyi derlemek için kullanılan Bağlayıcı ve Arşivleyici'yi değiştirmek için C/C++ > Genel bölümünde ve Bağlayıcı > Genel bölümünde uygun girdileri kullanın. Örneğin GCC veya Clang'nin belirli bir sürümünü belirtebilirsiniz. Daha fazla bilgi için bkz. C/C++ Özellikleri (Linux C++) ve Bağlayıcı Özellikleri (Linux C++).

Kaynakları kopyalama (yalnızca uzak sistemler)

Not

WSL hedeflendiğinde bu bölüm geçerli değildir.

Uzak sistemlerde derleme yaparken, geliştirme bilgisayarınızdaki kaynak dosyalar Linux bilgisayara kopyalanır ve orada derlenir. Varsayılan olarak, Visual Studio projesindeki tüm kaynaklar yukarıdaki ayarlarda ayarlanan konumlara kopyalanır. Bununla birlikte, listeye ek kaynaklar da eklenebilir veya kaynak kopyalama tamamen kapatılabilir. Bu, Bir Derleme dosyası projesi için varsayılan değerdir.

  • Kopyalanacak kaynaklar, uzak bilgisayara kopyalanacak kaynakları belirler. Varsayılan olarak, @(SourcesToCopyRemotely) varsayılan olarak projedeki tüm kaynak kod dosyalarını kullanır, ancak görüntüler gibi herhangi bir varlık/kaynak dosyası içermez.

  • Kaynak dosyaların uzak bilgisayara kopyalanmasını etkinleştirmek ve devre dışı bırakmak için kopyalama kaynakları açılıp kapatılabilir.

  • Kopyalanacak ek kaynaklar , uzak sisteme kopyalanacak ek kaynak dosyaları eklemenize olanak tanır. Noktalı virgülle ayrılmış bir liste belirtebilir veya kullanılacak yerel ve uzak bir ad belirtmek için := söz dizimini kullanabilirsiniz:

C:\Projects\ConsoleApplication1\MyFile.cpp:=~/projects/ConsoleApplication1/ADifferentName.cpp;C:\Projects\ConsoleApplication1\MyFile2.cpp:=~/projects/ConsoleApplication1/ADifferentName2.cpp;

Derleme olayları

Tüm derleme uzak bir bilgisayarda (veya WSL'de) gerçekleştiğinden, Proje Özellikleri'ndeki Derleme Olayları bölümüne birkaç ek Derleme Olayı eklenmiştir. Bunlar Uzaktan Derleme Öncesi Olay, Uzaktan Bağlantı Öncesi Olay ve Uzak Derleme Sonrası Olayı'dır ve işlemdeki tek tek adımlardan önce veya sonra uzak bilgisayarda gerçekleşir.

Derleme Olaylarını gösteren Özellik Sayfaları iletişim kutusunun ekran görüntüsü.

Uzak sistemlerdeki üst bilgiler için IntelliSense

Bağlantı Yöneticisi yeni bir bağlantı eklediğinizde, Visual Studio uzak sistemdeki derleyici için ekleme dizinlerini otomatik olarak algılar. Ardından Visual Studio bu dosyaları sıkıştırıp yerel Windows makinenizdeki bir dizine kopyalar. Bundan sonra, bir Visual Studio veya CMake projesinde bu bağlantıyı her kullandığınızda, bu dizinlerdeki üst bilgiler IntelliSense sağlamak için kullanılır.

Not

Visual Studio 2019 sürüm 16.5 ve sonraki sürümlerde, uzak üst bilgi kopyası iyileştirilmiştir. Artık bir Linux projesi açılırken veya Bir Linux hedefi için CMake yapılandırılırken üst bilgiler isteğe bağlı olarak kopyalanır. Kopya, projenin belirtilen derleyicilerine göre proje başına arka planda gerçekleşir. Daha fazla bilgi için bkz. Linux IntelliSense Doğruluğu ve Performansı geliştirmeleri.

Bu işlevsellik, zip'in yüklü olduğu Linux makinesine bağlıdır. Şu apt-get komutunu kullanarak zip yükleyebilirsiniz:

sudo apt install zip

Üst bilgi önbelleğinizi yönetmek için Araçlar > Seçenekler, Platformlar > Arası Bağlantı Yöneticisi > Uzak Üst Bilgiler IntelliSense Yöneticisi'ne gidin. Linux makinenizde değişiklik yaptıktan sonra üst bilgi önbelleğini güncelleştirmek için uzak bağlantıyı ve ardından Güncelleştir'i seçin. Bağlantının kendisini silmeden üst bilgileri kaldırmak için Sil'i seçin. Yerel dizini Dosya Gezgini açmak için Araştır'ı seçin. Bu klasörü salt okunur olarak değerlendirin. Visual Studio 2017 sürüm 15.3'e göre oluşturulmuş mevcut bir bağlantının üst bilgilerini indirmek için bağlantıyı seçin ve ardından İndir'i seçin.

Platformlar > Arası Bağlantı Yöneticisi > Uzak Üst Bilgiler IntelliSense Yöneticisi'nin seçili olduğu Seçenekler iletişim kutusunu gösteren ekran görüntüsü.

Platformlar > Arası Bağlantı Yöneticisi seçili seçenekler iletişim kutusunu gösteren ekran görüntüsü.

Sorunları gidermeye yardımcı olması için günlüğe kaydetmeyi etkinleştirebilirsiniz:

Uzaktan Günlüğe Kaydetme seçeneklerini gösteren Seçenekler iletişim kutusunun ekran görüntüsü.

Linux hedef yerel ayarı

Visual Studio yüklü paketleri yönetmediğinden veya yapılandırmadığından Visual Studio dil ayarları Linux hedeflerine yayılmaz. Çıkış penceresinde gösterilen derleme hataları gibi iletiler, Linux hedefinin dili ve yerel ayarı kullanılarak gösterilir. linux hedeflerinizi istenen yerel ayar için yapılandırmanız gerekir.

Ayrıca bkz.

Derleyici ve derleme özelliklerini ayarlama
C++ Genel Özellikleri (Linux C++)
VC++ Dizinleri (Linux C++)
Kaynak Kopyalama Proje Özellikleri (Linux C++)
Olay Özellikleri Oluşturma (Linux C++)