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 başlığında açıklandığı gibi MSBuild tabanlı bir Linux projesinin nasıl yapılandırıldığı açıklanmaktadı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.
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 özelliklerindeki > Maksimum Paralel Derleme İşleri ayarına tabidir.
Kullandığınız WSL sürümünden bağımsız olarak, 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'deki 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 girişini 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.
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 menüsünü 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:
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 olur.
Uzak Derleme Proje Dizini, bu projenin uzak Linux bilgisayarda oluşturulacağı yerdir. Bu varsayılan olarak $(RemoteRootDir)/$(ProjectName) olarak ayarlanır ve bu dizin, yukarıdaki kök dizin kümesi altında geçerli projeden sonra adlı bir dizine genişletilecektir.
Not
Varsayılan C ve C++ derleyicilerini veya projeyi derlemek için kullanılan Bağlayıcı ve Arşivleyiciyi 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, belirli bir GCC veya Clang sürümü 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. Ancak, listeye ek kaynaklar da eklenebilir veya kaynak kopyalama tamamen kapatılabilir; bu, Makefile 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 kodu dosyalarını kullanır, ancak görüntüler gibi varlık/kaynak dosyaları 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;
Olayları derleme
Tüm derleme bir uzak bilgisayarda (veya WSL) 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.
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. Visual Studio daha sonra 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ümlerinde, uzak üst bilgi kopyası iyileştirilmiştir. Üst bilgiler artık bir Linux projesi açılırken veya CMake bir Linux hedefi için yapılandırılırken isteğe bağlı olarak kopyalanır. Kopyalama, 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ında İyileştirmeler.
Bu işlevsellik, zip'in yüklü olduğu Linux makinesine bağlıdır. Şu apt-get komutunu kullanarak zip'i yükleyebilirsiniz:
sudo apt install zip
Üst bilgi önbelleğinizi yönetmek için Araçlar > Seçenekleri, 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.
Sorunları gidermeye yardımcı olması için günlüğe kaydetmeyi etkinleştirebilirsiniz:
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++)