2010-06-07 4 views
8

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

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

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

Похожий вопрос: https://stackoverflow.com/questions/37685069/generate-makefile-dependency -из-MSVC-вывода – Novelocrat

ответ

0

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

/showIncludes show include file names 

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

5

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

Pass файл в% 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 
Смежные вопросы