#c #msbuild
Вопрос:
проект.csproj
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Compile Include="main.c" />
</ItemGroup>
<Target Name="Build">
<Csc Sources="@(Compile)"/>
</Target>
</Project>
главная.c
#include <stdio.h>
int main(int argc, char* argv) {
printf("Hello World");
return 0;
}
MSBuild.exe project.csproj -t:Build
Я получаю сообщение об ошибке с надписью «ожидается директива препроцессора».
Сборка НЕ УДАЛАСЬ.
«C:UsersmichaProjects3dworld-windows-Csrcproject.csproj» (цель по умолчанию) (1) -> (Цель сборки) ->> main.c(1,2): ошибка CS1024: ожидается директива препроцессора [C:UsersmichaProjects3dworld-windows-Csrcproject.csproj]
0 Warning(s)
1 Error(s)
Может ли MSBuild компилировать файлы .c? Как бы я мог скомпилировать C с помощью MSBuild. Когда я компилирую main.c с помощью gcc, проблем нет.
Комментарии:
1. Поэтому после дальнейших поисков я обнаружил cl.exe для программ на c, но он не может найти stdio.h. В Visual Studio, похоже, нет копии этого файла. Каков наилучший способ получить доступ к stdio.h? Должен ли я загрузить заголовки?
Ответ №1:
Я использовал cygwin, и в нем нет набора включений. Поэтому сейчас я использую инструменты разработчика для Windows, и с ними все работает.