/sourceDependencies
(Tüm kaynak düzeyi bağımlılıklarını listele)
Bu komut satırı anahtarı, derleme sırasında kullanılan kaynak düzeyi bağımlılıklarının ayrıntılarını içeren bir JSON dosyası oluşturur. JSON dosyası, aşağıdakilerden oluşan kaynak bağımlılıkların listesini içerir:
- Üst bilgi dosyaları. Hem doğrudan hem de bu üst bilgiler tarafından eklenen üst bilgilerin listesi.
- Kullanılan PCH (belirtilmişse
/Yu
). - İçeri aktarılan modüllerin adları
- Hem doğrudan içeri aktarılan üst bilgi birimlerinin hem de sırayla içeri aktardıkları modüllerin ve üst bilgi birimlerinin dosya yolları ve adları.
Bu seçenek, modülleri ve üst bilgi birimlerini doğru bağımlılık sırasına göre oluşturmak için gerekli bilgileri sağlar.
Sözdizimi
/sourceDependencies-
/sourceDependencies
Dosyaadı
/sourceDependencies
dizin
Bağımsız değişkenler
-
Tek tire sağlanırsa, derleyici kaynak bağımlılıklarını JSON'a stdout
veya derleyici çıktısının yeniden yönlendirildiği konuma yayar.
filename
Derleyici, kaynak bağımlılık çıkışını, göreli veya mutlak bir yol içerebilen belirtilen dosya adına yazar. Dosya yoksa oluşturulur.
directory
Bağımsız değişken bir dizinse, derleyici belirtilen dizinde kaynak bağımlılık dosyaları oluşturur. Dizinin mevcut olması gerekir veya bağımsız değişkeni olarak filename
değerlendirilir. Çıkış dosyası adı, eklenen .json
uzantıyla birlikte giriş dosyasının tam adını temel alır. Örneğin, derleyiciye sağlanan dosya ise main.cpp
, oluşturulan çıkış dosya adı olur main.cpp.json
.
Açıklamalar
/sourceDependencies
Derleyici seçeneği Visual Studio 2019 sürüm 16.7'den itibaren kullanılabilir. Varsayılan olarak etkin değildir.
(Birden çok işlemle derleme) derleyici seçeneğini belirttiğinizde /MP
, bir dizin bağımsız değişkeniyle kullanmanızı /sourceDependencies
öneririz. Tek bir dosya adı bağımsız değişkeni sağlarsanız, derleyicinin iki örneği çıkış dosyasını aynı anda açmaya çalışabilir ve hataya neden olabilir. /MP
'a çıkış göndermek için stdout
ile /sourceDependencies-
kullanılması, araya kaydedilen sonuçlara neden olabilir.
Önemli olmayan bir derleyici hatası oluştuğunda, bağımlılık bilgileri yine de çıkış dosyasına yazılır.
Tüm dosya yolları çıkışta mutlak yollar olarak görünür.
Örnekler
Aşağıdaki örnek kod verilmiştir:
// ModuleE.ixx:
export module ModuleE;
import ModuleC;
import ModuleD;
import <iostream>;
Derleyici seçeneklerinizin geri kalanıyla birlikte kullanabilirsiniz /sourceDependencies
:
cl ... /sourceDependencies output.json ... main.cpp
burada ...
diğer derleyici seçeneklerinizi temsil eder. Bu komut satırı aşağıdaki gibi içeriğe sahip bir JSON dosyası output.json
oluşturur:
{
"Version": "1.2",
"Data": {
"Source": "F:\\Sample\\myproject\\modulee.ixx",
"ProvidedModule": "ModuleE",
"Includes": [],
"ImportedModules": [
{
"Name": "ModuleC",
"BMI": "F:\\Sample\\Outputs\\Intermediate\\MyProject\\x64\\Debug\\ModuleC.ixx.ifc"
},
{
"Name": "ModuleB",
"BMI": "F:\\Sample\\Outputs\\Intermediate\\ModuleB\\x64\\Debug\\ModuleB.ixx.ifc"
},
{
"Name": "ModuleD",
"BMI": "F:\\Sample\\Outputs\\Intermediate\\MyProject\\x64\\Debug\\ModuleD.cppm.ifc"
}
],
"ImportedHeaderUnits": [
{
"Header": "f:\\visual studio 16 main\\vc\\tools\\msvc\\14.29.30030\\include\\iostream",
"BMI": "F:\\Sample\\Outputs\\Intermediate\\HeaderUnits\\x64\\Debug\\iostream_W4L4JYGFJ3GL8OG9.ifc"
}
]
}
}
Bildirilen yolları kısaltmak için kullandık ...
. Rapor mutlak yolları içerir. Bildirilen yollar, derleyicinin bağımlılıkları nerede bulduğuna bağlıdır. Sonuçlar beklenmedikse, projenizin ekleme yolu ayarlarını denetlemek isteyebilirsiniz.
ProvidedModule
, dışarı aktarılan modül veya modül bölüm adlarını listeler.
Bu derleyici seçeneğini Visual Studio geliştirme ortamında ayarlamak için
Normalde bu seçeneği Visual Studio geliştirme ortamında kendiniz ayarlamamalısınız. Derleme sistemi tarafından ayarlanır.
Ayrıca bkz.
MSVC derleyici seçenekleri
MSVC derleyicisi komut satırı söz dizimi
/scanDependencies
/sourceDependencies:directives