Есть ли флаг поколения зависимости для MSVC как gcc's -M
флаг.
Каждый компилятор C++, который я когда-либо использовал, имел этот вид флага. Как я могу создать зависимости автоматически с компилятором статьи MSVC.
Вы можете использовать:
/showIncludes show include file names
хотя, вероятно, вам потребуется дополнительная фильтрация, чтобы получить нужный вам формат.
Этот пакетный сценарий может быть тем, что мы с вами искали, хотя я его не тестировал.
Передать файл как% 1 и включить путь как% 2
@ECHO %1: \
@FOR /F "tokens=1,2,3,*" %%A IN ('cl /nologo /c %1 /Zs /showIncludes /I%2') DO @IF NOT "%%D"=="" echo %%D \
Вывод:
filename.c: \
header.h \
someotherheader.h