Как заставить MSVC скомпилировать код на C? - PullRequest
0 голосов
/ 21 февраля 2012

Мне известен обычный флаг компилятора /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 управлял моими сборками внутри, чтобы ускорить разработку.

Возможно ли это?

...