Мне известен обычный флаг компилятора /TC
, который может быть передан в Visual Studio в качестве аргумента командной строки, чтобы изменить все исходные файлы на .c, а не на .cpp, но я все еще запутался, когдаскомпилируйте мой код, ошибки, которые я получаю, по-прежнему связаны с C ++, а не с прямым C.
Например,
Я объявляю следующую структуру:
typedef struct
{
float vertices[ 3 ][ 3 ];
int id;
}
Triangle;
И, несмотря на это, мой код здесь не будет компилироваться:
Triangle* Triangle_New( void )
{
Triangle* tri = ( Triangle* )malloc( sizeof( Triangle* ) );
tri->id = tricount++;
return tri;
}
из-за следующей ошибки:
Error: pointer to incomplete class type is not allowed.
Если бы я просто писал это на C ++, я бы понял, но, насколько я понимаю, еще многое нужно сделать для того, чтобы заставить VS скомпилировать нативный C-код.Я знаю, что вы можете сделать это из командной строки , но я бы хотел сделать так, чтобы VS управлял моими сборками внутри, чтобы ускорить разработку.
Возможно ли это?