Формат вывода MsBuild ClCompile

TL;DR: Что означают в следующем выводе MsBuild имена файлов (sourceFile1.cpp ~ sourceFileX.cpp), которые идут после команды cl? (прокрутите вниз, чтобы найти ссылку на фактический файл журнала)

ClCompile:
  cl.exe <args> <includeDirs> <sourceFile1.cpp sourceFile2.cpp ... sourceFileN.cpp>
  sourceFile1.cpp # what do these mean?
  sourceFile2.cpp
  ...
  sourceFileX.cpp

N и X являются намеренно разными переменными.

Длинное:

Контекст: я изменяю конфигурацию CMake библиотеки CppMicroServices, чтобы она была совместима с biicode.

Сборка с исходной конфигурацией дает приведенный выше вывод с N == X, т. е. все файлы, переданные команде cl, также выводятся в последующих строках. Это отлично компилируется в Ubuntu 14.10 и Windows 8.1.

Сборка с использованием файла CMakeLists.txt, модифицированного biicode, дает аналогичный результат, но N != X. N одинаково как для вывода biicode, так и для оригинала, но X для biicode представляет собой гораздо меньшее подмножество исходных файлов по сравнению с X из оригинал.

Полный файл журнала находится здесь: http://pastebin.com/hRi8WGwN.

Строки 56 ~ 100: вывод, соответствующий исходной цели сборки (43 исходных файла переданы в cl, следуют 43 строки с теми же именами исходных файлов).

Строки 183–192: выходные данные для цели, специфичной для bii (43 исходных файла переданы в cl, 8 строк некоторых имен исходных файлов, за которыми следует некоторые ошибки, которые, я полагаю, будут исправлены, когда это будет решено).

Конкретная цель biicode прекрасно работает в Ubuntu.


person Azriel    schedule 18.12.2014    source источник
comment
Файлы в списке — это те, которые должен компилировать компилятор. Он распечатывает их один за другим по мере их компиляции.   -  person Timo Geusch    schedule 18.12.2014
comment
Итак, я думаю, мой вопрос звучит так: «Как мне указать biicode передавать правильные файлы». Но как можно сказать, что 1~X предназначены для компиляции, если переданы 1~N? Инструменты командной строки Windows сложны для понимания ._.   -  person Azriel    schedule 18.12.2014
comment
Подождите, это должно означать, что список ошибок после определенного sourceFileX является ошибками компиляции для этого файла, и компиляция продолжается. Если я правильно понимаю, вы можете преобразовать свой комментарий в ответ, я могу закрыть вопрос.   -  person Azriel    schedule 18.12.2014
comment
Это действительно правильно.   -  person Timo Geusch    schedule 19.12.2014


Ответы (1)


Файлы в списке — это те, которые должен компилировать компилятор. Он распечатывает их один за другим по мере их компиляции. Если при компиляции обнаружатся какие-либо ошибки, ошибки и ссылка на исходный файл, в котором они обнаружены, будут перемежаться со списком исходных файлов, которые компилируются.

person Timo Geusch    schedule 18.12.2014