Есть ли флаг генерации зависимостей для MSVC, такой как gcc -M - PullRequest
8 голосов
/ 07 июня 2010

Есть ли флаг создания зависимостей для MSVC, такой как флаг -M gcc.

Каждый компилятор C ++, который я когда-либо использовал, имел такой флаг.Как я могу автоматически создавать зависимости с помощью компилятора MSVC cl.

  1. Меня интересуют только последние версии компилятора, т. Е. MSVC9 или новее, но если он работает с MSVC8, то это тоже нормально.* Если для этого есть встроенный внешний инструмент (я имею в виду, не cl), все будет хорошо

Ответы [ 2 ]

5 голосов
/ 12 августа 2010

Этот пакетный скрипт может быть тем, что вы и я искали, хотя я не проверял его.

Передайте файл как% 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
0 голосов
/ 07 июня 2010

Вы можете использовать:

/showIncludes show include file names

, хотя вам, возможно, потребуется дополнительная фильтрация, чтобы получить нужный формат.

...